【发布时间】:2018-01-10 11:10:24
【问题描述】:
我有一个容器 Container-A,它的目录 /opt/test/data 包含在构建映像期间创建的文件。 现在我想将 /opt/test/data(container-a directory) 共享给 Container-B,因为它需要在其生命周期内使用这些文件。 我尝试了以下选项
docker run -it -d -v shareddata:/opt/test/data --name container-a test
然后将容器-B 运行为
docker run -it --volumes-from container-a --name container-b test-prod:latest
数据已共享,但它在主机上创建了一个命名卷 shareddata,其中包含 container-a 的 /opt/test/data 目录的重复数据。
我尝试了另一种创建名称卷数据并将其安装在容器-a 中的选项。然后我在已安装的卷上创建了 /opt/test/data 的符号链接,如下所示
ln -s /data/data /opt/test/data
现在将 /data 卷安装到 container-b,但符号链接在 container-b 上不起作用,因为它显示为断开的链接。
有没有一种方法可以在不复制数据的情况下将容器-a 目录共享到容器-b,因为我们希望将静态且相当大的数据保留到一个图像,大约 2.5G,然后一个实例继续运行,共享测试产品图像的多个容器?
【问题讨论】:
标签: docker dockerfile docker-volume