我将用一个例子来解释这个问题。假设我们在同一个图像上运行两个单独的进程。其中一个创建一个文件并继续执行。我需要在不同容器中运行的其他进程来查看、检查、更改此文件。
提前致谢。
您可以使用卷。这个想法是让容器 A 创建一个挂载在特定目录中的卷,执行所有需要在该目录中共享的操作,并让容器 B 挂载容器 A 中的卷。
1)ID=$(docker run -d -v /tmp base /bin/sh -c 'echo hello > /tmp/world')
2)docker run -volumes-from $ID base cat /tmp/world
请注意,没有提交。两个容器使用相同的图像。
现在可以使用新的Bind Mounts功能将主机目录挂载到容器中(目前在 master 中,并将在 0.5.0 中很快发布)。
用法如下:
docker run -t -i -v /host:/container base bash
这将确保主机的/host
目录挂载到容器的/container
目录,具有读写访问权限。