Get started, Par1: Orientation and set up
欢迎!很高兴您希望了解如何使用 Docker。
本教程包含六个部分,您将在其中:
- 在此页面上了解基本设置与入门。
- 构建并运行您的第一个应用
- 将您的应用变为扩展服务
- 在多台机器之间扩展您的服务
- 添加持久保存数据的访客计数器
- 将您的 swarm 部署到生产中
应用自身非常简单,以确保您不会因代码的操作而分心。但是,Docker 的价值在于如何构建、交付和运行应用;您的应用的实际操作完全不可知。
先决条件
虽然我们将在教程中定义概念,但您最好在开始之前了解 Docker 是什么以及为何使用 Docker。
另外,在继续之前,我们还需要假定您熟悉一些概念:
- IP 地址和端口
- 虚拟机
- 编辑配置文件
- 基本熟悉代码依赖项和构建的概念
- 机器资源使用情况属于,例如 CPU 百分比、RAM 使用量(字节)等。
对容器的简要说明
镜像 是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。
容器 是镜像的运行时实例 - 实际执行时镜像会在内存中变成什么。默认情况下,它完全独立于主机环境运行,仅在配置为访问主机文件和端口的情况下才执行此操作。
容器在主机内核上以本机方式运行应用。与仅通过管理程序对主机资源进行虚拟访问的虚拟机相比,它们具有更好的性能特征。容器可以获取本机访问,每个容器都在独立进程中运行,占用的内存不超过任何其他可执行文件。
容器与虚拟机
在比较虚拟机和容器时,请考虑此图:
虚拟机图
虚拟机运行来宾操作系统 - 请注意每个框中的操作系统层。此项为资源密集型,并且生成的磁盘镜像和应用状态与操作系统设置、系统安装的依赖项、操作系统安全补丁以及其他容易丢失且难以复制的临时配置相关联。
容器图
容器可以共享单个内核
,并且需要存在于容器镜像中的唯一信息是可执行文件及其软件包依赖项,这些都不需要在主机系统上安装。这些进程的运行方式类似于原生进程,并且您可以通过运行 docker ps
等命令来逐一管理它们 - 如同您在 Linux 上运行 ps
以查看活动进程一样。最后,由于它们包含所有依赖项,因此不存在配置关联;容器化应用“可以随处运行”。
设置
在开始之前,请确保您的系统安装了最新版本的 Docker。
- 官方文档中提供所有操作系统的安装方法,看这里安装 Docker
- 如果你想在 ubuntu 下安装最新版本的 docker,可以直接看这里 ubuntu 16.04 下安装 docker-ce 17.09
注:需要版本 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
如果您看到类似于以上内容的消息,表示已做好准备工作。
总结
将可扩展单位做成单个可移植的可执行文件,具有广泛的意义。它表示,CI/CD
可以将更新推送到分布式应用程序的任何部分,您无需担心系统依赖项,并且资源密度将增加。编排扩展动作将启动新的可执行文件而不是新的虚拟主机。
我们将了解所有这些内容,但首先需要从基础内容开始。