news 2026/5/1 6:26:11

一次性把「正在运行的 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/4/19 3:54:01

Wan2.2-T2V-5B支持Windows/Linux双平台部署

Wan2.2-T2V-5B 支持 Windows/Linux 双平台部署 在短视频横行的时代&#xff0c;你有没有想过—— “如果我打一行字&#xff0c;就能立刻看到一段画面动起来&#xff0c;那该多爽&#xff1f;” 这不再是科幻。随着 AIGC 技术的爆发式演进&#xff0c;文本生成视频&#xff0…

作者头像 李华
网站建设 2026/4/30 18:24:46

Wan2.2-T2V-A14B与Runway Gen-2的功能差异全面对比

Wan2.2-T2V-A14B vs Runway Gen-2&#xff1a;谁才是专业级视频生成的“真生产力工具”&#xff1f;&#x1f3ac; 你有没有试过输入一段中文提示词&#xff0c;满怀期待地等着AI生成一个意境优美的视频——结果出来的却是穿着“汉服”的机器人在火星上跳广场舞&#xff1f;&am…

作者头像 李华
网站建设 2026/4/25 22:16:15

突破传统渲染瓶颈:用Taichi打造实时布料物理引擎

你是否曾在游戏或动画中看到那些"纸片人"般的布料效果&#xff1f;传统渲染引擎为了性能往往牺牲了物理真实性。今天&#xff0c;我将带你用Taichi这个高性能Python框架&#xff0c;从零构建一个真正能模拟丝绸般飘逸效果的布料物理引擎&#xff01;&#x1f3af; 【…

作者头像 李华
网站建设 2026/4/29 6:23:48

Rust机器学习实战:Candle框架快速构建MNIST手写数字识别模型

Rust机器学习实战&#xff1a;Candle框架快速构建MNIST手写数字识别模型 【免费下载链接】candle Minimalist ML framework for Rust 项目地址: https://gitcode.com/GitHub_Trending/ca/candle 还在为Python机器学习项目的部署和性能问题困扰&#xff1f;Rust语言和Can…

作者头像 李华
网站建设 2026/4/26 1:23:10

BiliRoaming完整指南:解锁B站番剧区域限制的终极方案

BiliRoaming是一个强大的Xposed模块&#xff0c;专门用于解除哔哩哔哩客户端的番剧区域限制&#xff0c;让您畅享全球动漫内容。无论您身在何处&#xff0c;都能轻松观看原本受地域限制的番剧&#xff0c;同时享受多种实用功能带来的便利体验。 【免费下载链接】BiliRoaming 哔…

作者头像 李华