如何将一卷文件装载到远程docker守护程序?

如何将一卷文件装载到远程docker守护程序?,docker,docker-volume,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/da

我有一个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
选项。

这是对我自己问题的回答

我发现了以下纯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

这一点受到启发。

我也在寻找解决这个问题的方法。从docker compose将卷设置为/home/dev:/remote/devBetter link=>所链接的卷的“下一个”答案,使本地目录直接连接到远程主机。此答案适合您的问题,尽管问题并非完全重复。另一个问题要求提供一个“通用”副本,而triad
create
+
cp
+
rm
的特定答案对远程卷有效,这是您(和我)所关心的。