news 2026/5/10 0:41:51

一次性把「正在运行的 3 个容器」无损迁移到 docker-compose 体系,并打成 离线一键包

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一次性把「正在运行的 3 个容器」无损迁移到 docker-compose 体系,并打成 离线一键包

一次性把「正在运行的 3 个容器」无损迁移到docker-compose体系,并打成离线一键包
全程 5 分钟,以后再启停/升级/迁移只要:

cd /opt/stack docker-compose up -d # 启动 docker-compose stop # 停止 docker-compose pull && docker-compose up -d # 升级

1.创建统一目录

mkdir -p /opt/stack/{mysql,minio,redis} cd /opt/stack

2.把现有数据“搬”到统一目录

# 1.1 MySQL 命名卷 → 本地目录 docker run --rm \ -v mysql-data:/from \ -v /opt/stack/mysql:/to \ alpine ash -c "cd /from && cp -a . /to" # 1.2 MinIO、Redis 已是绑定挂载,直接软链接(或 cp -a 均可) ln -s /opt/minio/data /opt/stack/minio-data ln -s /opt/redis/data /opt/stack/redis-data

若原目录不在/opt/minio/data请改成实际路径;也可用cp -a复制一份,确保迁移时不再依赖老目录

3.生成 docker-compose.yml

cat > docker-compose.yml <<'EOF' version: "3.8" services: mysql: image: mysql:8.0.39 container_name: vm_mysql01 restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: 123456 ports: - "3306:3306" volumes: - ./mysql:/var/lib/mysql command: ["--default-authentication-plugin=mysql_native_password"] minio: image: minio/minio:RELEASE.2025-04-22T22-12-26Z container_name: vm_minio01 restart: unless-stopped ports: - "9000:9000" - "9001:9001" environment: MINIO_ROOT_USER: admin MINIO_ROOT_PASSWORD: admin123456 volumes: - ./minio-data:/data command: server /data --console-address ":9001" redis: image: redis:6.2.6 container_name: vm_redis restart: unless-stopped ports: - "6379:6379" volumes: - ./redis-data:/data mem_limit: 256m command: [ "redis-server", "--appendonly", "yes", "--maxmemory", "200mb", "--maxmemory-policy", "allkeys-lru" ] EOF

4.停旧容器、用 compose 启动新容器

# 3.1 平滑停止旧容器(数据已落盘) docker stop vm_mysql01 vm_minio01 vm_redis docker rm vm_mysql01 vm_minio01 vm_redis # 3.2 一键拉起 docker compose up -d

5.验证

docker compose ps # 三个都是 Up mysql -h127.0.0.1 -uroot -p123456 -e "select 1;" curl -s http://127.0.0.1:9000/minio/health/live docker exec -it vm_redis redis-cli ping

全部正常即可删除旧命名卷(可选):

docker volume rm mysql-data

6.制作离线一键迁移包

# 5.1 导出镜像 docker save mysql:8.0.39 minio/minio:RELEASE.2025-04-22T22-12-26Z redis:6.2.6 \ -o images.tar # 5.2 打包 compose 文件 + 数据 + 镜像 cd /opt tar zcf stack-all-in-one.tar.gz \ stack/ images.tar

→ 得到stack-all-in-one.tar.gz,随便拷到另一台 CentOS 7 机器:

# 目标机任意目录解压 tar zxf stack-all-in-one.tar.gz docker load -i images.tar cd stack docker-compose up -d

整套环境 3 分钟恢复原样。


以后日常命令

cd /opt/stack docker compose stop # 停机 docker compose start # 开机 docker compose pull # 拉最新镜像 docker compose up -d # 升级并重启 docker compose logs -f mysql # 看日志
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/3 13:48:26

三星设备固件管理新方案:Bifrost跨平台工具实战指南

在三星设备的使用过程中&#xff0c;固件管理往往是让用户头疼的问题。传统方式需要记忆复杂的命令行参数&#xff0c;在不同平台间切换时更是困难重重。现在&#xff0c;有了Bifrost工具&#xff0c;这一切都变得简单直观。这款跨平台应用彻底改变了三星固件的管理方式&#x…

作者头像 李华
网站建设 2026/5/7 22:56:55

基于Java+ vue宠物寄养系统(源码+数据库+文档)

宠物寄养系统 目录 基于springboot vue宠物寄养系统 一、前言 二、系统功能演示 详细视频演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 基于springboot vue宠物寄养系统 一、前言 博主介绍…

作者头像 李华
网站建设 2026/5/3 1:31:09

如何快速上手PyScripter:Python开发者的终极指南

如何快速上手PyScripter&#xff1a;Python开发者的终极指南 【免费下载链接】pyscripter Pyscripter is a feature-rich but lightweight Python IDE 项目地址: https://gitcode.com/gh_mirrors/py/pyscripter PyScripter是一款功能丰富且轻量级的Python集成开发环境&a…

作者头像 李华
网站建设 2026/5/4 11:45:04

Wan2.2-T2V-A14B生成失败常见原因及解决方案汇总

Wan2.2-T2V-A14B生成失败常见原因及解决方案汇总你有没有遇到过这种情况&#xff1a;满怀期待地输入一段精美的提示词&#xff0c;点击“生成视频”&#xff0c;结果等了快一分钟——黑屏、静帧、直接报错&#xff1f;&#x1f631; 别急&#xff0c;这不一定是你的问题。尤其是…

作者头像 李华
网站建设 2026/5/5 22:04:40

Apache Doris备份恢复终极指南:构建数据安全的完整解决方案

Apache Doris备份恢复终极指南&#xff1a;构建数据安全的完整解决方案 【免费下载链接】doris Doris是一个分布式的SQL查询引擎&#xff0c;主要用于海量数据的在线分析处理。它的特点是高性能、易用性高、支持复杂查询等。适用于数据分析和报表生成场景。 项目地址: https:…

作者头像 李华
网站建设 2026/5/3 8:01:25

德卡读卡器SDK使用指南:轻松查询设备版本信息

德卡读卡器SDK使用指南&#xff1a;轻松查询设备版本信息 【免费下载链接】德卡读卡器SDK下载 本仓库提供德卡读卡器T10、D8、D3和T60系列的最新SDK&#xff08;版本1.5&#xff09;下载。该SDK包含最新的DEMO程序&#xff0c;用户可以通过该程序查询读卡器的版本号&#xff0c…

作者头像 李华