You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Docker容器中仅复制指定扩展名(如pdf)的文件到服务器

Docker容器仅复制指定扩展名文件的实现方法

方法1:通过tar管道直接传输(推荐,兼容性最强,支持带空格的文件名)

不需要在容器或宿主机生成中间打包文件,直接通过标准流传输:

docker exec docker_session_name sh -c 'cd /root/mydir && tar cf - *.pdf' | tar xf -
  • 命令解释:在容器内切换到目标目录后,将所有后缀为pdf的文件打包为tar流输出到标准输出,宿主机侧直接接收该流并解压到当前目录
  • 如果需要匹配子目录下所有pdf文件,可修改通配符为**/*.pdf,确保容器内shell开启globstar选项即可

方法2:循环遍历逐个复制(适合文件量少的场景)

先获取容器内所有目标文件路径,再逐个执行docker cp:

for f in $(docker exec docker_session_name ls /root/mydir/*.pdf); do docker cp docker_session_name:$f .; done
  • 注意:该方法不适合文件名带空格/特殊字符的场景,可能出现路径解析错误

注意事项

  • 请将命令中的docker_session_name替换为你实际使用的容器名或容器ID
  • 如需复制其他扩展名的文件,只需将命令中的*.pdf替换为对应通配符即可,比如*.docx、*.tar.gz

内容的提问来源于stack exchange,提问作者kiriloff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 18:15:03