如何将大量文件挂载到远程Docker守护程序?

时间:2018-07-12 12:19:30

标签: docker docker-volume

我有一个Docker映像a,它对给定的文件集执行一些逻辑。在本地运行时,我按以下方式启动a

docker run -v /home/Bradson/data:/data a

这就是它的工作。

现在,我想在远程Docker守护程序上运行a

DOCKER_HOST=tcp://remote_host:2375 docker run -v /home/Bradson/data:/data a

我现在收到一个错误消息,/data不包含任何内容,很可能是因为远程主机上不存在/home/Bradson/data

我该如何处理?我是否应该首先scp /home/Bradson/data到远程主机上的某个目录,并在-v选项中引用该控制器?是否有纯粹的Docker方法?

请注意,我想使/home/Bradson/data在运行时可用,而不是在a构建期间可用。因此,我使用-v选项。

1 个答案:

答案 0 :(得分:0)

这是我自己的问题的答案。

我发现了以下纯Docker方法。我一直在寻找一种直接将文件复制到卷的方法,但是由于某些原因似乎不支持该方法?

但是您可以将文件复制到容器中。所以下面的工作:

DOCKER_HOST=tcp://remote_host:2375 docker volume create data-volume
DOCKER_HOST=tcp://remote_host:2375 docker create -v data-volume:/data --name helper busybox true
DOCKER_HOST=tcp://remote_host:2375 docker cp /home/Bradson/data helper:/data
DOCKER_HOST=tcp://remote_host:2375 docker rm helper
DOCKER_HOST=tcp://remote_host:2375 docker run -v data-volume:/data a

这是受https://stackoverflow.com/a/37469637/10042924启发的。