理解镜像(images)和容器(containers)

2016/12/10 15:07
阅读数 327

目录

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镜像.

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部