多个 Docker 容器 ID 源自同一个 docker 镜像

发布于 2025-01-10 11:02:45 字数 419 浏览 0 评论 0原文

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

  1. 我需要来自同一映像的多个容器的具体情况是什么?
  2. 这些容器中的“每个”是否消耗相同大小的图像?
  3. 我注意到重新启动系统后会列出新的容器 ID。管理场景并使用相同容器 ID 运行的最佳方法是什么?
  4. docker commit 与 docker 中的持久卷含义相同吗?如果不是,它们有何不同?

我在 stackoverflow 上找不到答案。如果问题多余,请删除。 输入图片此处描述

Why there is different container Id originating from the same Docker Image from the same command path as we can see in the picture?

  1. What can be the specific case where I need several containers from the same images?
  2. Do 'each' of these containers consume the equivalent size of the image?
  3. I have noticed that the new container Id is listed once I reboot the system. What is the best approach to manage the scenario and run using the same container Id?
  4. Does docker commit mean same as persistent volumes in docker? If no, how do they differ?

I couldn't find answers on stackoverflow. If the question is redundant please remove.
enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

指尖凝香 2025-01-17 11:02:45

为什么同一命令路径中的同一个 Docker 镜像有不同的容器 ID

来区分不同的运行容器。

在什么具体情况下我需要来自同一图像的多个容器?<​​/p>

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

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

ETC。

这些容器中的“每个”是否消耗与图像相同的大小?

基层共享磁盘空间。每个容器都有自己的私有文件系统,安装在其他层的“顶部”。他们只消耗他们所做的更改。他们分享他们建造的顶部的图像。您可能想研究一下 squashfs 和 https://docs.docker.com/storage/storagedriver/。

容器内的每个进程都有独立的进程空间。

管理场景并使用相同容器 ID 运行的最佳方法是什么?

使用名称。

docker commit 与 docker 中的持久卷含义相同吗?

不。

如果不是,它们有何不同?

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


Image = tar.gz 和文件。

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

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

To differentiate different running containers.

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

For example you want to run two sshd services - one on port 22 and other on port 23. Or any two same services.

Or there are two developers using one machine, and both are compiling their projects in a docker at the same time.

Etc.

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

The base layers share the disc space. Each container has its own private filesystem mounted "on top" other layers. They consume only the changes they made. They share the image on top they were built. You may want to research squashfs and https://docs.docker.com/storage/storagedriver/ .

Each processes inside containers have separate process space.

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

Use NAMES.

Does docker commit mean same as persistent volumes in docker?

No.

If no, how do they differ?

It creates a new docker layer, and commits that as a new docker image.


Image = tar.gz with the files.

Container = one instance of running image.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文