Docker是什么?Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 一个完整的Docker有以下几个部分组成:
简单来说,Docker平台是关于使用容器来使得创建、部署、运营变得更简单的一切相关内容。容器可以让开发者将一个应用程序打包,里面包含了必须的部分,如应用程序依赖的库和其他元素,以包的形式发布出去。通过将app和相关的元素添加到容器内,开发者确保这个apps能够运行在任何Linux机器上,不管机器有怎样的默认配置,或者这个机器与编写测试代码的机器有多大区别。这点对开发者而言很有用,因为它使得整个生命周期内对app操作变得很容易。
Docker关键优势开源:Docker最关键一个因素就是它完全是开源的。说明不论任何人都能给平台提出意见,当Docker本身不包含他们需要的特性时,可以适配并扩展它以满足他们自己的需求。 低开销:因为Docker创建的是一个虚拟环境。这就不需要开发者提供真实的虚拟环境一直到硬件级别,通过只创建运行时必要的库和OS部件,可以降低系统的开销。 敏捷:实现思路上,Docker是依赖速度和简单性来创建的。开发者现在能够非常简单地将软件和依赖元素打包到一个容器中,用任何编程语言,任何版本、任何工具,因为它们是一起打包到一个容器中,因而,事实上标准化了所有元素,同时也并未丢弃任何东西。 可移植性:Docker以一种全新方式使得应用程序容器变得完全可移植。开发者现在能够分发app从开发到测试到制作而又不破坏代码。 控制:当apps在生命周期中移动时,Docker提供了对apps最大程度的控制。在整个过程中有关安全性、管理型、和规模方面的问题。
Docker原理Docker 相比于传统虚拟机的技术来说先进了不少,具体表现在 Docker 不是在宿主机上虚拟出一套硬件后再虚拟出一个操作系统,而是让 Docker 容器里面的进程直接运行在宿主机上(Docker 会做文件、网络等的隔离),这样一来 Docker 会 “体积更轻、跑的更快、同宿主机下可创建的个数更多”。 Docker 中有三个核心概念:Image、Container、Repository。
Docker实例一、运行一个Hello world
当容器被创建,docker创建了 新的Ubuntu的环境,然后再内部执行/bin/echo,然后输出 Hello world.容器是有周期的,上面的例子中,一旦命令被执行,容器就停止。 二、在docker中运行一个web应用 在docker中运行一个Python Flask web应用
查看web 应用程序容器
-l, 显示最近启动的容器。 PORTS 0.0.0.0:32768->5000/tcp -P,传送到docker run,Docker将容器的所有端口映射到主机。 在这个例子中,Docker将5000端口(Flask 默认端口)映射到32768端口。 -p, 指定端口:
这就将容器中的5000端口映射到本机的80端口; 验证:32768,80端口已经正常可以访问,而没有指定的8080则不能访问。 这样一个web 应用就已经运行在docker中。 |
| 本文出处: https://www.toutiao.com/i6548941497415238158/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|