如何在阅读模式下正确共享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> 

将在卷中写入的每个容器都将被其他可见。