目录
- 开始使用Docker
- 在OS X安装Docker
- 理解镜像(images)和容器(containers)
- 搜索&运行whalesay镜像
- 构建你自己的镜像
- 创建Docker Hub账号(account)&库(repository)
- 标记(Tag),推送(Push),拉取(Pull)你自己的镜像
Docker Engine提供了Docker的核心技术: 图像(images)和容器(containers). 在安装教程的最后一步, 你运行了Engine命令docker run hello-world
. 这一个命令,使Engine完成了Docker的核心任务, 该命令包含了三部分.
一个容器是一个精简版的Linux操作系统, 一个镜像是加载到这个容器的软件, 当你运行这个命令后, Engine会做下面的事情:
- 检查是否存在hello-world这个软件镜像
- 从Docker Hub下载镜像(稍后了解Docker Hub)
- 加载这个镜像到容器中, 并运行它
镜像的功能基于它是如何构建的, 一个镜像可以运行一个简单的 独立的命令, 然后退出. 这就是hello-world所做的事情.
一个Docker镜像, 也可以做更多. 一个镜像可以像一个数据库软件一样复杂, 等你(或者其他人)来向里面添加数据, 存储数据, 然后使用数据, 然后等待下一个用户来使用.
那么是谁构建了hello-world镜像? 可以说, Docker构建了hello-world镜像, 但是也可以是任何一个人构建的. Docker Engine可以让人(或公司)通过Docker镜像创建并分享他们的软件. 使用Docker Engine, 你不需要担心你的电脑是否可以在Docker镜像运行软件 — Docker容器总是可以运行它的.
(我对这个地方的理解是这样: 镜像是运行在容器中的, 和硬件无关. 只要一个镜像可以在一个容器中运行,那么把这个镜像分享出来,可以在任何一个Docker容器中运行. 镜像可以通过个人的需要定制不同的镜像. 比如我在Ubuntu镜像中安装一个mysql, 另外一个人在Ubuntu镜像中安装了Apache, 这就是两个镜像, 不同的人根据不同的需要下载不同的镜像. 然后把镜像运行在自己电脑的容器中即可.)
下一步去哪里?
看, 学习的过程是不是很快? 现在, 你已经准备好了使用Docker做一些真正有趣的事情, 继续到下一个部分查找并运行whalesay镜像.