来自同一个 docker 图像的多个 Docker 容器 ID

Several Docker Container Id originating from same docker image

为什么有不同的容器 ID 来自相同的 Docker 来自相同命令路径的图像,正如我们在图片中看到的?

  1. 我需要来自相同图像的多个容器的具体情况是什么?
  2. 这些容器中 'each' 个占用的图像大小是否相等?
  3. 我注意到重新启动系统后会列出新的容器 ID。使用相同的容器 ID 来管理场景和 运行 的最佳方法是什么?
  4. docker 提交是否与 docker 中的持久卷相同?如果不是,它们有何不同?

我在 Whosebug 上找不到答案。如果问题多余,请删除。

Why there is different container Id originating from the same Docker Image from the same command path

区分不同的 运行ning 容器。

What can be the specific case where I need several containers from the same images?

例如,您想要 运行 两个 sshd 服务 - 一个在端口 22 上,另一个在端口 23 上。或者任何两个相同的服务。

或者有两个开发者使用一台机器,并且都在docker中同时编译他们的项目。

等等

Do 'each' of these containers consume the equivalent size of the image?

基础层共享光盘space。每个容器都有自己的私有文件系统,安装在其他层“之上”。他们只消费他们所做的更改。他们在构建的顶部共享图像。您可能需要研究 squashfs 和 https://docs.docker.com/storage/storagedriver/ .

容器内的每个进程都有单独的进程space。

What is the best approach to manage the scenario and run using the same container Id?

使用姓名。

Does docker commit mean same as persistent volumes in docker?

没有

If no, how do they differ?

它创建一个新的 docker 层,并将其作为新的 docker 图像提交。


图像 = tar.gz 与文件。

容器 = 运行ning 图像的一个实例。