当前位置: 首页 > 知识库问答 >
问题:

将带有通配符的文件夹从docker容器复制到主机

詹弘毅
2023-03-14

创建备份脚本以在容器内转储mongodb,我需要将文件夹复制到容器外,Dockercp似乎无法使用通配符:

docker cp mongodb:mongo_dump_* .

将在终端中抛出以下内容:

来自daemon的错误响应:lstat /var/lib/docker/aufs/mnt/SomeHash/mongo_dump_*:没有这样的文件或目录

在cp命令中使用通配符有什么解决方法吗?

共有2个答案

充浩波
2023-03-14

似乎还没有办法在docker cp命令中使用通配符https://github.com/docker/docker/issues/7710.

您可以将mongo转储文件创建到容器内的一个文件夹中,然后复制该文件夹,如这里的另一个答案所述。

如果您有一个大数据集和/或需要经常进行操作,最好的处理方法是使用docker卷,这样您就可以直接从容器访问文件到您的主机文件夹,而无需使用任何其他命令:https://docs.docker.com/engine/userguide/containers/dockervolumes/

乔丁雨
2023-03-14

我有一个类似的问题,必须分两步解决:

$ docker exec <id> bash -c "mkdir -p /extract; cp -f /path/to/fileset* /extract"
$ docker cp <id>:/extract/. .
 类似资料:
  • 我正在考虑使用Docker在持续集成(CI)服务器上构建我的依赖项,这样我就不必在代理本身上安装所有的运行时和库。 为了实现这一点,我需要将在容器中构建的构建构件复制回主机中。有可能吗?

  • 问题内容: 我正在尝试为我们使用的Docker容器构建备份和还原解决方案。 我已经创建了Docker基本映像,并且不想每次都使用Docker文件重建它来向其添加文件。 我想创建一个从主机运行的脚本,并使用Docker映像创建一个新容器,然后将文件复制到该容器中。 如何将文件从主机复制到容器? 问题答案: 该命令可用于复制文件。 可以将一个特定文件复制到容器中,例如: 可以从容器中复制一个特定文件,

  • 问题内容: 我正在考虑使用Docker在持续集成(CI)服务器上构建我的依赖项,这样我就不必在代理程序本身上安装所有运行时和库。 为此,我需要将容器内部构建的构建工件复制回主机。那可能吗? 问题答案: 为了将文件从容器复制到主机,可以使用以下命令 这是一个例子: 这里 goofy_roentgen 是我从以下命令获得的容器名称: 您还可以使用(部分) 容器ID 。以下命令等效于第一个

  • 问题内容: 我正在尝试将一组文件从Docker主机复制到容器。在AUFS系统上,直接进入/ var / lib / docker / aufs / …即可。但是我是另一个使用Fedora的系统,它具有devicemapper作为存储驱动程序。在这个系统上,如果我这样做: 我什么都没有。我已经尝试了将文件从主机复制到Docker容器的所有建议 使用tar似乎很棒,而不是直接转到基础FS。但是我不能假

  • 我一无所获。我尝试了从将文件从主机复制到Docker容器的所有建议 使用tar似乎很棒,而不是直接去底层FS。但我不能假设焦油会出现在所有容器中。 如果是相关的,我甚至尝试在容器中创建一个文件,但它然后做了一个查找。-在/var/lib/docker/devicemapper/mnt中命名无效。

  • 我正在使用docker容器来编译一段代码,我不一定要将其docker化。我已使用必要的构建工具设置了一个映像,但我希望以某种方式将编译后的文件从容器中取出,而无需使用docker cp container:/file host/file命令。换句话说,我希望自动化这个过程,以便在构建完成后,将生成的文件复制到主机。 Dockerfile