Docker容器 picfast-app-1 备份+完整迁移方案
两种常用方式:方式1:容器打包成镜像(简单,适合快速迁移);生产推荐优先结合「数据卷单独备份」,避免数据丢失。
以容器名:
picfast-app-1为例
前置区分概念
docker commit:把正在运行/停止的容器制作成新镜像(推荐)docker export / import:导出容器文件系统快照(不带镜像历史)- ⚠️ 重要:挂载的volume数据不会被打包进镜像!必须单独备份卷!
方式一:commit打包容器为镜像(首选)
1. 将容器提交为本地镜像
docker commit picfast-app-1 picfast-app-backup:v1
picfast-app-backup:v1自定义镜像名与标签
2. 将镜像保存为tar文件(用于拷贝到新服务器)
docker save -o picfast-app-backup-v1.tar picfast-app-backup:v1
如果是宝塔的docker也可以直接再docker镜像管理里面导出到自选目录,然后下载
3. 迁移到目标机器
如果是宝塔,那么可以分享到对应机器,然后下载到新机器,解压以后,再当前目录下运行终端
下面是文件名,根据自己的修改
把 picfast-app-backup-v1.tar 文件传到新服务器,执行载入镜像:
docker load -i picfast-app-backup-v1.tar
4. 在新服务器启动容器
⚠️ 务必回忆原来的启动参数(端口、挂载目录、环境变量)
示例参考(根据你实际配置修改)docker run -d \ --name picfast-app-1 \ -p 你原来的端口映射 \ -v 数据目录挂载(关键!)\ picfast-app-backup:v1如果你忘记启动命令,可以在原机器查询:
docker inspect picfast-app-1 | grep -A20 "HostConfig"
启动命令查找
优先用上面一条命令查询
查出来以后,直接贴给豆包等ai让它帮你写启动命令即可,有问题也发日志过去让ai分析报错再修改
查看容器完整启动配置:
# 安装工具(可选)
yum install -y jq # centos
# or apt install jq # ubuntu
docker inspect picfast-app-1 | jq '.[0].Config.Env, .[0].HostConfig.PortBindings, .[0].Mounts'
如果你把下面这条命令输出结果发我,我可以直接帮你生成新服务器一键启动命令:
docker inspect picfast-app-1 