Docker镜像
如果读者之前曾经是VM管理员,则可以把Docker镜像理解为VM模板,VM模板就像停止运行的VM,而Docker镜像就像停止运行的容器;如果读者是一名研发人员,可以将镜像理解为类。
镜像与容器
镜像的命令
#查看
docker image ls
#拉取
docker image pull <repository>:<tag>
#搜索
docker search 镜像id
# 该命令完美展示了镜像的细节,包括镜像层数据和元数
docker image inspect
#删除镜像 不能有依赖此镜像的容器在运行
docker image rm 镜像id
镜像仓库
Docker镜像存储在镜像仓库服务(Image Registry)当中。Docker客户端的镜像仓库服务是可配置的,默认使用Docker Hub。
所有的Docker镜像都起始于一个基础镜像层,当进行修改或增加新的内容时,就会在当前镜像层之上,创建新的镜像层,举一个简单的例子。
图6.7中展示了一个稍微复杂的三层镜像,在外部看来整个镜像只有6个文件,这是因为最上层中的文件7是文件5的一个更新版本。这种情况下,上层镜像层中的文件覆盖了底层镜像层中的文件。这样就使得文件的更新版本作为一个新镜像层添加到镜像当中
Docker通过存储引擎(新版本采用快照机制)的方式来实现镜像层堆栈,并保证多镜像层对外展示为统一的文件系统