泊坞窗内的Docker:已安装卷,但为空

时间:2018-06-21 14:46:51

标签: docker dockerpy

我正在运行一个docker容器,其中使用docker安装在其中:

docker run -v /Path/to/service:/src/service -v /var/run/docker.sock:/var/run/docker.sock --net=host image-name python run.py

这将运行一个python脚本,该脚本在data中创建一个/src文件夹并填充它。打印os.listdir('/src/data')时,我会得到文件列表。

然后我从该容器中运行一个容器,并使用data安装docker-py文件夹。

volumes = {'/src/data': {'bind': '/src', 'mode': 'rw'}}    
client.containers.run(image, command='ls data', name=container_key, network='host', volumes=volumes)

它会打印:

Starting with UID: 0 and HOME: /src\n0\n'

这意味着data已安装,但为空。我在做什么错了?

1 个答案:

答案 0 :(得分:1)

将docker安装在容器中意味着从那里开始的容器正在您的HOST计算机上运行。

最终结果是您在主机上有两个容器-一个 /Path/to/service:/src/service 和一个 /src/data:/src

如果要在两个容器之间共享卷,通常应使用“命名”卷,例如 docker run -v sharedvolume:/src/datadocker run -v sharedvolume:/src