泊坞窗:将文件从一个容器获取到另一个容器

时间:2020-03-22 15:44:12

标签: docker docker-compose dockerfile

我有2个由2个Dockerfile创建的Docker容器。

docker run container1 # It updates a txt (update.txt) file every minutes and store it in the same container

docker run container2 --link container1 # A web server which in intended to read the updated file in container1

现在,我想访问container2中的文件update.txt,但是我不能这样做。我不想只复制文件,因为它会变成静态文件,但我想读取动态更新的文件以读取最新更新。有人可以建议出路吗?

2 个答案:

答案 0 :(得分:3)

使用命名卷将update.txt存储在主机上的该卷中。

在两个容器中装入该卷。

然后容器1可以访问容器1写入的所有更改。

答案 1 :(得分:0)

首先,使用以下命令创建docker卷

$ docker volume create --name sharedVolume
sharedVolume

然后通过装入上面创建的卷来启动第一个容器,并将数据写入要装入该卷的位置。

$ docker run -it -v sharedVolume:/dataToWrite ubuntu
root@1021d9260d7b:/# echo "DATA Written" >> /dataToWrite/Example.txt
root@1021d9260d7b:/# cat /dataToWrite/Example.txt
DATA Written

现在,启动第二个容器并安装上面创建的相同卷,并检查第二个容器中是否存在相同文件

$ docker run -it -v sharedVolume:/dataToWrite alpine
/ # cat /dataToWrite/Example.txt
DATA Written

如上所示,第一个容器是ubuntu,第二个容器是alpine。写在第一个容器中的内容存在于第二个容器中。

相关问题