我需要将卷/path/a
从一个容器挂载到另一个容器中的/path/b
,但根据documentation只允许HOST:CONTAINER
或HOST:CONTAINER:ro
写入VOLUMES
部分。
如何在docker-compose.yml中做到这一点?
答案 0 :(得分:4)
您可以在主机上使用两个容器的绑定装载创建卷。
示例:
mkdir -p /mnt/shared-volume
docker run --name container1 -v /mnt/shared-volume:/path/a mycontainer
docker run --name container2 -v /mnt/shared-volume:/path/b mycontainer
与docker-compose.yml
相同:
volumes:
- /mnt/shared-volume:/path/a
另一个容器:
volumes:
- /mnt/shared-volume:/path/b
替代解决方案:
创建数据卷容器!
示例:
docker run --name datacontainer -v /mnt/shared-volume mycontainer /bin/true
docker run --name container1 --volumes-from datacontainer mycontainer
docker run --name container2 --volumes-from datacontainer mycontainer