情况
比方说,我们有两个容器A和B。
A和B的共享名称为shared-volume
。
A container
已将shared-volume
安装到/root/shareA
。
B container
已将shared-volume
安装到/root/shareB
。
这意味着,当我们转到B container
并在"example.txt"
中创建文件/root/shareB
时。在A container
,我们可以访问"example.txt"
,使A container
和B container
的共享量为shared-volume
。
我为此使用docker-compose:
version: '2.1'
volumes:
shared-volume:
services:
A:
image: imageA
volumes:
- shared-volume:/root/sharedA
B:
image: imageB
volumes:
- shared-volume:/root/sharedB
问题
我使用imageB
作为存储代码和资源的容器,imageA
就像消费者,Web服务器一样,它将使用imageB
中的文件。 imageA
和imageB
通过命名卷共享文件(如上所示)。
根据我的测试,imageB
与imageA
成功共享了文件。
问题是,当我用较新的文件更新imageB
时,共享volumne的文件仍然保持不变。我必须删除所有容器和卷,重新启动它,然后应用更新的文件。
这意味着我必须先运行docker-compose down -v
然后运行docker-compose up -d
。
imageA
是Web服务器之类的东西,不应出于任何原因将其关闭。
我想知道我是否在某些地方犯了错误或缺少某些东西,可以使imageA
可以从imageB
获得较新的代码而无需关闭imageA
并且数量如此?
谢谢。