如何在阅读模式下正确共享less数docker集装箱之间的文件夹?
我将Docker安装在CentOS系统的顶部。
我试图使用音量,但每个新的容器正在删除(或隐藏)的文件夹共享内容。
在Docker运行后,我的容量总是空的。
为了创build我的容器,我使用
docker run -dit --name $CONTAINER_NAME -p $PORT:8080 \ -v $VOLUME_PATH:/opt/conf/ \ $IMAGE_NAME
我的目标是在几个Docker容器之间共享一个来自主机的文件夹(到READ)并且我也想从主机写入这个文件夹。
什么是一个优雅的方式来做到这一点?
一个解决scheme是使用数据卷容器。
首先,创build一个数据容器
docker run -d --name <data-volume-name> -v /<data-volume-name> ubuntu
你可以在这个容器中添加你想要的任何数据。
使用选项volume-from创build将共享的容器
让我们使用共享的datacontainer来创build容器foo和容器吧:
docker run -it --name foo --volumes-from=<data-volume-name> ubuntu docker run -it --name bar --volumes-from=<data-volume-name> centos
玩的开心
我的示例中的每个容器都映射到根文件夹。 从bar或foo中,您都可以在filesytem中看到/ 。
您也可以使用卷字段。
创build一个卷
docker volume create --name <volume-name>
创build容器映射到卷的容器和栏
docker run -dit --name foo -v test-volume:/path/in/container/ <image-name> docker run -dit --name bar -v test-volume:/path/in/container/ <image-name>
将在卷中写入的每个容器都将被其他可见。