如何在读取模式下正确共享几个码头容器之间的文件夹



我将Docker安装在CentOS系统的顶部。

我尝试使用,但是每个新容器都在删除(或隐藏(要共享的文件夹的内容。

码头运行后我的音量总是空的。

为了创建我的容器,我使用

docker run -dit --name $CONTAINER_NAME  -p $PORT:8080 
-v $VOLUME_PATH:/opt/conf/ 
$IMAGE_NAME

我的目标是在几个码头容器之间共享主机的文件夹(要阅读(,我也想从主机写入此文件夹。

什么是一种优雅的方式?

一种解决方案是使用数据卷容器。

首先,创建一个数据卷容器

docker run -d --name <data-volume-name> -v /<data-volume-name> ubuntu

您可以在此容器中添加所需的所有数据。

创建您的容器,该容器将通过使用选项卷 - from

共享

让我们使用共享datacontainer创建容器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中看到/

您也可以使用音量字段。

创建一个音量

docker volume create  --name <volume-name>

创建映射到卷

的容器foo and bar
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>

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

最新更新