将整个目录从容器复制到主机

Posted

技术标签:

【中文标题】将整个目录从容器复制到主机【英文标题】:Copy entire directory from container to host 【发布时间】:2018-03-25 13:19:51 【问题描述】:

我正在尝试将整个目录从我的 docker 映像复制到我的本地计算机。

该图像是一个 keycloak 图像,我想复制主题文件夹,以便我可以处理自定义主题。

我正在运行以下命令 -

docker cp 143v73628670f:keycloak/themes ~/Development/Code/Git/keycloak-recognition-login-branding

但是我收到以下回复 -

Error response from daemon: Could not find the file keycloak/themes in container 143v73628670f

当我使用 -

连接到我的容器时
 docker exec -t -i 143v73628670f /bin/bash

我可以使用 -

导航到主题
cd keycloak/themes/

我可以看到它位于那里,并且文件在终端中与预期的一样。

我在 Mac 上本地运行实例。

如何将整个主题文件夹复制到本地计算机?请问我做错了什么?

【问题讨论】:

Docker - copy file from container to host 【参考方案1】:

编辑

运行 'pwd' 后,您应该运行 Docker cp 命令,如下所示:

docker cp 143v73628670f:/opt/jboss/keycloak/themes ~/Development/Code/Git/keycloak-recognition-login-branding

您忘记了尾随的“/”。因此,您的命令应如下所示:

docker cp 143v73628670f:/keycloak/themes/ ~/Development/Code/Git/keycloak-recognition-login-branding

此外,您可以使用 Docker 卷,它允许您在运行容器时将本地目录传递到容器中

【讨论】:

嗯,我仍然收到“来自守护进程的错误响应:在容器中找不到文件 /keycloak/themes/......” oki 转到容器上的 keycloak/themes 并运行 pwd 并发布输出 它返回“/opt/jboss/keycloak/themes” @pgGriff 我已经编辑了我的答案以匹配您刚刚粘贴的输出,希望它现在可以工作

以上是关于将整个目录从容器复制到主机的主要内容,如果未能解决你的问题,请参考以下文章

docker cp:从容器复制文件到宿主机,从宿主机复制文件到容器

docker cp:从容器复制文件到宿主机,从宿主机复制文件到容器

Docker将文件从主机复制到容器

在容器内将文件从容器复制到主机

将单个文件从主机复制到 Vagrant 来宾的最简单方法?

如何将文件从 dockerfile 复制到主机?