欢迎! 我们很高兴你想学习如何使用Docker。
在这六部分的教程中,您将:
容器是图像的运行时实例 - 实际执行时图像在内存中的内容。 默认情况下,它与主机环境完全隔离,只能访问主机文件和端口(如果配置为这样做)。
容器在主机的内核上本机运行应用程序。 它们具有比仅通过虚拟机管理程序虚拟访问主机资源的虚拟机更好的性能特征。 容器可以获得本机访问,每个进程都以独立进程运行,不会比任何其他可执行文件更多的内存。
现在也是一个很好的时机,确保你使用的是1.13或更高版本。 运行docker --version来检查它。
在这六部分的教程中,您将:
- 在此页面上设置和定向。
- 构建并运行您的第一个应用程序
- 将您的应用程序变成缩放服务
- 跨越多台机器的服务
- 添加一个持续数据的访客计数器
- 将您的群集部署到生产中
应用程序本身非常简单,所以你不会因为代码正在做的那样分心。 毕竟,Docker的价值在于如何构建,运送和运行应用程序; 你的应用程序实际上是完全不可知的。
先决条件
虽然我们将定义概念,但是您了解Docker是什么,以及为什么在开始之前使用Docker.
我们还需要假设你在我们继续之前熟悉几个概念:
- IP地址和端口
- 虚拟机
- 编辑配置文件
- 基本熟悉代码依赖和构建的思想
- 机器资源使用条款,如CPU百分比,RAM使用字节数等。
容器的简要说明
image是一个轻量级,独立的可执行包,包括运行一段软件所需的一切,包括代码,运行时,库,环境变量和配置文件。容器是图像的运行时实例 - 实际执行时图像在内存中的内容。 默认情况下,它与主机环境完全隔离,只能访问主机文件和端口(如果配置为这样做)。
容器在主机的内核上本机运行应用程序。 它们具有比仅通过虚拟机管理程序虚拟访问主机资源的虚拟机更好的性能特征。 容器可以获得本机访问,每个进程都以独立进程运行,不会比任何其他可执行文件更多的内存。
容器与虚拟机
考虑将图虚拟机与容器进行比较:Virtual Machine diagram
虚拟机运行客户机操作系统 - 记下每个框中的OS层。 这是资源密集型,并且由此产生的磁盘映像和应用程序状态是操作系统设置,系统安装的依赖关系,操作系统安全修补程序和其他易于丢失,难以复制的昙花一现的纠缠。
Container diagram
容器可以共享单个内核,并且需要在容器映像中的唯一信息是可执行文件及其包依赖关系,这些信息从不需要在主机系统上安装。 这些进程像本机进程一样运行,您可以通过运行像docker ps这样的命令来单独管理它们,就像在Linux上运行ps一样,看到活动进程。 最后,因为它们包含所有的依赖关系,所以没有配置纠缠; 一个集装箱化的应用程序“在任何地方运行”。
安装
在开始之前,请确保您的系统安装了最新版本的Docker。
注意:需要1.13或更高版本
您应该能够运行docker run hello-world并查看如下响应:
$ docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
...(snipped)...
现在也是一个很好的时机,确保你使用的是1.13或更高版本。 运行docker --version来检查它。
$ docker --version
Docker version 17.05.0-ce-rc1, build 2878a85
如果你看到像上面的消息,你准备开始你的旅程。