将.txt文件从 docker 容器复制到主机



所以我有一个 docker 容器,里面有 .txt 和 .csv 个文件。我需要将这些复制到主机。但我只需要复制文件.txt文件。命令sudo docker cp -a env1_1:/path/*.txt .似乎不起作用。是否可以使用 docker cp 复制特定类型的文件?我暂时找不到任何替代方案。

有什么建议吗?

谢谢。

事实上,docker cp不支持 glob 模式,顺便说一句,容器路径是绝对的

docker cp命令假定容器路径相对于容器的/(根(目录。这意味着提供初始正斜杠是可选的 [...]

本地计算机路径可以是绝对值或相对值。该命令将本地计算机的相对路径解释为相对于运行docker cp的当前工作目录。

但是,可以设计一种解决方法,依赖于docker exec,以及依赖于两侧tar命令的手动构建的 shell 命令(假设它在图像中可用(:

sudo docker exec env1_1 sh -c 'cd /path && tar cf - *.txt' | tar xvf -

或者如果需要:

sudo docker exec env1_1 sh -c 'cd /path && tar cf - *.txt' | ( cd /dest/path && tar xvf - )

在这里,特殊文件名-表示STDOUT(或分别是STDIN(。

通常的免责声明:最终的tar命令将覆盖当前文件夹中的选定文件(或第二个示例中的/dest/path(,恕不另行通知

最新更新