首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将容器目录挂载到另一个容器。

将容器目录挂载到另一个容器。
EN

Stack Overflow用户
提问于 2018-01-10 11:10:24
回答 5查看 2.9K关注 0票数 1

我有一个容器-A,它有目录/opt/test/data,其中包含在构建映像过程中创建的文件。现在,我想将/opt/test/data(容器-一个目录)共享给Container,因为它需要在其生命周期中使用这些文件。我试过以下选项

代码语言:javascript
复制
docker run -it -d -v shareddata:/opt/test/data --name container-a test

然后运行容器-b作为

代码语言:javascript
复制
docker run -it --volumes-from container-a --name container-b test-prod:latest

数据被共享,但它在主机上创建了一个命名卷共享数据,其中包含容器-a的/opt/test/data目录的重复数据。

我尝试了另一种选择,即创建名称卷数据并将其挂载到容器-a中。然后,我在挂载卷上创建了/opt/test/data的符号链接,如下所示

代码语言:javascript
复制
ln -s /data/data /opt/test/data

现在,将/data卷挂载到容器-b,但是符号链接没有在容器-b上工作,因为它显示它是断开的链接。

是否有一种方法可以共享容器(一个目录到容器-b),而不复制数据,因为我们希望保持数据的静态和相当大的大约2.5G到一个映像,然后一个实例继续运行,在多个容器之间共享测试-prod映像?

EN

回答 5

Stack Overflow用户

发布于 2022-08-02 13:50:34

如果你愿意并且可以用波德曼代替码头,它应该能够做到:

  1. 播客创造说它的--mount选项支持type=image,所以类似于 podman运行--挂载type=image,source=test,目的地=/opt/test/data test-prod:最新 应该行得通。
  2. 它还具有播客坐骑,允许您从主机访问容器文件系统,然后可以将其绑定到另一个容器中。

如果您不能转到podman,那么控制containerd的低级别containerd命令(现在在码头下面,也包括大多数库伯内特斯安装)有一个ctr image mount命令,它的工作方式与播客坐骑命令类似。不幸的是,我找不到合适的文档。此外,该命令可能不会安装在您的系统上。

票数 0
EN

Stack Overflow用户

发布于 2022-09-19 11:25:18

另一种选择是在共享pid命名空间时通过/proc文件系统访问它。

代码语言:javascript
复制
$ docker run -d --name container-a test sh -c 'echo $$; while :; do sleep 1; done'
$ docker run -it --pid container:container-a --name container-b -e "A_PID=$(docker logs container-a)" test-prod:latest

然后,目录应该可以在/proc/$A_PID/root/opt/test/data上使用。

除了共享PID命名空间之外,容器还必须使用相同的UID才能工作。

解释:

  • 特定进程所看到的文件系统视图可以在/proc/pid/root下使用。只有具有相同UID的进程才能访问它(应该适用与ptrace相同的规则)。
  • 您可以使两个容器与--pid container:容器标志共享PID命名空间,这使得可以从另一个容器访问/proc/pid。
  • PID不一定是固定的,所以提供数据的容器必须打印它正在运行的进程的PID,然后进入一个没完没了的循环。
票数 0
EN

Stack Overflow用户

发布于 2018-01-10 11:17:50

通常的方法是在启动容器时创建这些文件,而不是在构建时创建这些文件。您可以首先检查文件是否已创建,如果未创建,则创建它们(或从/tmp或摇摆器中移动它们)。

例如,mysql的官方图像就是这样做的。

然后,您可以在该目录中挂载卷,并在容器之间共享它。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48186109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档