欢迎光临散文网 会员登陆 & 注册

Docker基础概念——镜像和容器的区别

2023-07-27 10:30 作者:尔云间  | 我要投稿

作为生信狗,相信大伙都对docker有一定的了解吧。什么,没了解?那还不快关注小云,认准尔云间,历史文章里有docker的介绍。

书归正题,咱们来聊聊docker中镜像和容器概念的区别及技术细节,能帮助大家更好的使用docker。

在小云的认识中,docker的镜像是一堆只读层堆叠的文件系统,每一层都有一个指针指向下一层。

容器与镜像相似,唯一的区别在于容器多了一层可读写层,也就是说,容器=镜像+读写层。

所以当我们运行docker create <image-id>时,docker会为镜像添加一个可读写层,使其构成一个新的容器。

当我们运行docker start <container-id>命令时,docker会为容器文件系统创建一个进程隔离空间,貌似docker run <image-id>命令也有相同的效果,那么start和run有什么区别呢?

由图可知,docker run包含了两个行为,首先利用docker create从镜像创建一个容器,再使用docker start运行该容器,尽管run命令简化了操作细节,使其更加简便,但同时也更容易让用户对镜像和容器产生误解。

当然上述逻辑反过来也成立,当容器运行的过程中,对原始的镜像进行了改变,如安装了程序,添加了文件等操作,也可以通过commit命令提交回去成为镜像。

如果你对镜像与容器相关的概念、知识还有不理解的地方,欢迎大家留言与小云互动。





Docker基础概念——镜像和容器的区别的评论 (共 条)

分享到微博请遵守国家法律