Docker学习之 名词解释

Docker学习之 名词解释

Docker 是一个开源的商业产品,有两个版本:社区版(Community Edition,缩写为 CE)和企业版(Enterprise Edition,缩写为 EE)。企业版包含了一些收费服务,个人开发者一般用不到。下面的介绍都针对社区版。

 

image文件:镜像

Docker 把应用程序及其依赖,打包在 image 文件里面。只有通过这个文件,才能生成 Docker 容器。
image 文件可以看作是容器的模板。Docker 根据 image 文件生成容器的实例。同一个 image 文件,
可以生成多个同时运行的容器实例。

image 是二进制文件。实际开发中,一个 image 文件往往通过继承另一个 image 文件,加上一些个性化
设置而生成。举例来说,你可以在 Ubuntu 的 image 基础上,往里面加入 Apache 服务器,形成你的 image。

# 列出本机的所有 image 文件。
docker images
# 或者 docker image ls


# 删除 image 文件
docker rmi [imageID/imageName]
# 或者 docker image rm [imageID/imageName]

image 文件是通用的,一台机器的 image 文件拷贝到另一台机器,照样可以使用。一般来说,为了节省时间,
我们应该尽量使用别人制作好的 image 文件,而不是自己制作。即使要定制,也应该基于别人的 image 文件
进行加工,而不是从零开始制作。

容器文件 Container

image 文件生成的容器实例,本身也是一个文件,称为容器文件。也就是说,一旦容器生成,就会同时
存在两个文件: image 文件和容器文件。而且关闭容器并不会删除容器文件,只是容器停止运行而已。

# 列出本机正在运行的容器
docker ps
# 或者 docker container ls

# 列出本机所有容器,包括终止运行的容器
docker ps -a
# 或者 docker container ls --all

# 终止容器
docker kill [containerID]

# 停止容器
docker stop [containerID]

# 删除容器
docker rm [containerID]

层级 Layer - Image

Docker 镜像是由多个文件系统(只读层)叠加而成, 每个层仅包含了前一层的差异部分。 
当我们启动一个容器的时候,Docker 会加载镜像层并在其上添加一个可写层。容器上所做的任何更改,
譬如新建文件、更改文件、删除文件,都将记录与可写层上。

img

层级 Layer - Container

容器与镜像最大的区别就在于可写层上。如果运行中的容器修改了现有的一个已存在的文件,那该文件将会从可写
层下的只读层复制到可写层,该文件的只读版本仍然存在,只是已经被可写层中该文件的副本所隐藏。
其中,多个容器共享镜像的结构如下所示。

img

Docker的storage driver负责管理只读的镜像层和可写的容器层,当然不同的driver实现的方式也不同,
但其后都有两项关键技术:可堆叠的镜像层(stackable image layer)和写时拷贝技术(copy-on-write, CoW)。

Docker 数据持久化 - data volume

Data volume就是我们将主机的某个目录挂载到容器里面,这个data volume不受storage driver的控制,
所有对这个data volume的操作会绕过storage driver直接其操作,其性能也只受本地主机的限制。
而且我们可以挂载任意多个data volume到容器中,不同容器也可以共享同一个data volume。 


下图展示了一个Docker主机上面运行着两个容器.每一个容器在主机上面都有着自己的地址空间
(/var/lib/docker/...),除此以外,它们还共享着主机上面的同一个/data目录。

img

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值