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

如何导出docker-compose应用的所有镜像并在其他机器上复现运行

Docker Compose多镜像应用迁移操作指南

操作步骤

  • 导出本地所有相关镜像
    可直接将3个镜像打包为单个压缩包,方便传输:
    # 不压缩打包
    docker save -o myapp-all-images.tar docker-mice-tracking-app_server docker-mice-tracking-app_client mongo
    # 如需更高压缩比,可执行gzip压缩
    docker save docker-mice-tracking-app_server docker-mice-tracking-app_client mongo | gzip > myapp-all-images.tar.gz
    
  • 迁移核心文件到目标机器
    需要发送两类文件到目标机器:
    1. 上一步导出的镜像压缩包
    2. 你本机执行docker-compose up的整个项目目录(需包含完整的docker-compose.yml文件、以及配置中用到的挂载文件、静态资源等)
  • 目标机器导入镜像
    目标机器需提前安装好docker和docker-compose环境,上传文件完成后执行导入:
    # 导入未压缩的tar包
    docker load -i myapp-all-images.tar
    # 导入gzip压缩包
    docker load < myapp-all-images.tar.gz
    
    导入完成后可执行docker images核对三个镜像是否存在、名称标签是否正确。
  • 启动应用
    进入传输到目标机的项目目录,和你本机操作一致,直接执行启动命令即可:
    # 前台启动查看日志
    docker-compose up
    # 后台常驻启动
    docker-compose up -d
    

补充说明

如果你的MongoDB服务配置了持久化数据卷,需要额外迁移数据:

  1. 原机器备份数据:docker run --rm --volumes-from 你的MongoDB容器名 -v $(pwd):/backup busybox tar cvf /backup/mongo-data.tar /data/db
  2. 目标机先创建对应数据卷,再恢复数据:docker run --rm -v 你docker-compose中配置的MongoDB数据卷名:/data/db -v $(pwd):/backup busybox tar xvf /backup/mongo-data.tar

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 23:33:03