docker 镜像和容器的关系

发布时间:2021-09-23

  docker镜像和容器的关系是什么?容器是镜像的实例,先描述镜像,再创建容器,所以容器可以有多个。镜像是一个只读的文件系统,在本地会共用,www.lu0.com主要是通过签名来实现的,类似于存储里面的De-dup技术。

  每运行一个容器,会在镜像上加一个可写层,但这一层并不会改变镜像本身,这也就是为什么有时候你用同一个镜像启动多个容器,里面的内容是不会变的。如果你要将可写层持久化,就要通过 commit命令来把这个可写层写到磁盘上,即生成新的镜像。

  总的来说,镜像是文件, 容器是进程。容器是基于镜像创建的,即容器中的进程依赖于镜像中的文件,这里的文件包括进程运行所需要的可执行文件、依赖软件、库文件、配置文件等等。

  假设,你需要把nginx(web服务器)运行在docker容器中, 则第一步要下载nginx镜像:

  sudo docker pull nginx

  下载nginx镜像之后可以查看Docker镜像:

  事实上, nginx镜像并非一个单独的文件,而是具有层级结构:

  可知, nginix镜像一共有8层, 其中, 第1层为125.1MB, 第5层为57.67MB, 其他层的大小可以忽略。

  将nginx运行在Docker容器中:

  查看nginx容器

  可知, nginx容器运行成功。

  本站推荐知识阅读:《宝塔面板点击登陆没有用怎么办》

  

注册即送1000元现金券