docker 迁移mysql容器

迁移整个 Docker 镜像 + 数据(含容器配置)

适合需要完全复刻原容器(包括端口、挂载、自启配置)的场景,一步到位。

步骤 1:原服务器备份镜像 + 数据卷

1.1 导出 MySQL 镜像
复制代码
# 导出镜像到本地文件(替换镜像名和路径)
docker save -o /tmp/mysql_5.7.30.tar mysql:5.7.30
1.2 备份数据卷(关键!MySQL 数据存在挂载目录,需单独备份)
复制代码
# 打包原服务器的 MySQL 挂载目录(替换为你的挂载路径,比如 /work/docker/mysql)
tar -zcvf /tmp/mysql_data.tar.gz /work/docker/mysql

步骤 2:传输文件到新服务器

复制代码
# 传输镜像文件
scp /tmp/mysql_5.7.30.tar root@新服务器IP:/tmp/

# 传输数据卷文件
scp /tmp/mysql_data.tar.gz root@新服务器IP:/tmp/

步骤 3:新服务器恢复

3.1 导入 MySQL 镜像
复制代码
docker load -i /tmp/mysql_5.7.30.tar
3.2 恢复数据卷
复制代码
# 创建和原服务器一致的挂载目录
mkdir -p /work/docker/mysql

# 解压数据卷备份(覆盖到挂载目录)
tar -zxvf /tmp/mysql_data.tar.gz -C /
3.3 启动容器(和原命令一致,含自启、端口等配置)
复制代码
docker run -p 3306:3306  \
--name mysql7 \
--privileged=true \
--restart=always \
-v /work/docker/mysql/log:/var/log/mysql \
-v /work/docker/mysql/data:/var/lib/mysql \
-v /work/docker/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7.30

步骤 4:验证

复制代码
# 进入容器查看数据
docker exec -it mysql7 mysql -uroot -p
show databases;
相关推荐
是枚小菜鸡儿吖26 分钟前
Home Assistant跨品牌智能家居教程:Docker部署、米家接入、vivo桥接与远程访问
docker·容器·智能家居
螺蛳粉 螺蛳粉3 小时前
第 02 篇:镜像分层与 containerd 2.x 实战:SystemdCgroup 与 pause 镜像配置踩坑(底座认知 02)
docker·云原生·容器·kubernetes·etcd·containerd·kube-apiserver
`Levie4 小时前
MySQL-数据库服务日志管理与数据闪回
数据库·mysql
wefg14 小时前
【Docker】镜像相关指令
运维·docker·容器
香蕉大香蕉(06敬畏市场)4 小时前
MySQL 单点详解(01)
java·数据库·mysql·面试·博客·实习
吹什么轩4 小时前
MySQL 事务管理:从 ACID 到 MVCC,一篇讲透
数据库·mysql
java_logo5 小时前
Docker 部署 DPanel:轻松搭建轻量容器管理平台
运维·docker·容器·podman·容器管理·dpanel·轩辕镜像
死磕音视频5 小时前
Open WebUI 入门:用 Docker 装上本地对话界面并连接 Ollama
docker·ollama·本地大模型·open webui
分布式存储与RustFS5 小时前
CI 老被 Docker Hub 的 429 卡住,自建 Registry 把镜像搬进内网
运维·docker·开源·镜像仓库·对象存储·ci·rustfs
paopaokaka_luck5 小时前
基于springboot+vue的益暖微光公益服务平台(DeepSeek公益助手、善款信息追溯、志愿服务积分闭环、ECharts运营分析、活动状态自动流转)
java·前端·javascript·spring boot·mysql·架构·echarts