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

如何获取Docker容器内所有文件并在Ubuntu服务器打包为ZIP?

把Docker容器内项目文件复制到Ubuntu服务器并打包ZIP的操作步骤

1. 确认容器ID和目标文件路径

  • 先运行docker container ls获取要操作的容器ID(就是你说的<container_hash>)
  • 要是不确定项目文件在容器里的具体路径,直接进容器查看:
    docker exec -it <container_hash> sh
    
    进去后用ls或者find找到项目文件的根目录,比如/app/my-project,记好这个路径。

2. 把容器内文件复制到服务器本地

用docker cp命令直接复制,格式如下:

docker cp <container_hash>:<容器内项目路径> <服务器本地目标路径>

举个实际例子:把容器内的/app/my-project复制到服务器的/home/user/backup目录:

docker cp abc123:/app/my-project /home/user/backup

(把abc123换成你的真实容器ID就行)

3. 打包成ZIP文件

如果服务器上没装zip工具,先安装:

sudo apt update && sudo apt install zip -y

然后直接打包,比如把刚才复制过来的目录打包成my-project-backup.zip:

zip -r my-project-backup.zip /home/user/backup/my-project
  • -r参数是递归打包目录下所有文件和子文件夹
  • 文件名可以自己随便改,比如换成你想要的名字

可选:先在容器内打包再复制(适合大文件)

如果项目文件很大,先在容器里打包再复制能省时间:

  1. 直接在容器内执行打包命令,把文件临时存在容器的/tmp目录:
    docker exec -it <container_hash> sh -c "cd /app/my-project && zip -r /tmp/my-project.zip ."
    
  2. 把容器里的ZIP包复制到服务器本地:
    docker cp <container_hash>:/tmp/my-project.zip /home/user/backup/
    
  3. (可选)清理容器内的临时ZIP包:
    docker exec -it <container_hash> rm /tmp/my-project.zip
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 07:22:52