Docker容器秒转Compose!一行命令搞定存量迁移

Docker容器秒转Compose!一行命令搞定存量迁移

兄弟们,有没有遇到过这种抓狂时刻?辛辛苦苦部署了几十个Docker容器,突然要迁移服务器,结果发现当初的docker run命令早就忘光光!二冰最近就在帮朋友迁移NAS时踩了这个坑,直到发现了这个黑科技——Docker-AutoCompose

项目简介

项目名称:Docker-AutoCompose
开源地址github.com/Red5d/docker

这个神器能把你现有的Docker容器逆向工程生成docker-compose.yml文件,连卷映射、环境变量这些细节都给你安排得明明白白!

五大核心优势

  1. 1. 一键逆向:无论容器是通过命令行还是Portainer部署,统统自动解析
  2. 2. 精准还原:支持网络配置、存储卷、特权模式等复杂参数捕获
  3. 3. 批量处理:支持同时转换多个容器(实测50+容器无压力)
  4. 4. 智能清理:自动过滤临时容器和系统服务
  5. 5. 兼容性强:完美支持群晖/威联通等NAS系统

Dockge部署指南

打开Dockge面板 -> 创建堆栈 -> 设置堆栈名称 -> 粘贴compose代码 -> 30秒启动成功!

version: '3.8'

services:
  autocompose:
    image: ghcr.io/red5d/docker-autocompose
    container_name: docker-autocompose
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    restart: unless-stopped
    entrypoint: /bin/sh -c "docker ps -aq | xargs docker-autocompose > /output/compose.yml"
    environment:
      - TZ=Asia/Shanghai
    networks:
      - proxy
    deploy:
      resources:
        limits:
          memory: 512M

networks:
  proxy:
    external: true

实战效果展示

生成的配置文件会包含完整部署细节:

version: '3'

services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    volumes:
      - /docker/jellyfin/config:/config
      - /media/movies:/media
    ports:
      - 8096:8096
    networks:
      - macvlan
    restart: unless-stopped
    privileged: true
    environment:
      - TZ=Asia/Shanghai
      - UMASK=022

networks:
  macvlan:
    driver: macvlan
    driver_opts:
      parent: eth0

优化建议

  1. 1. 删除自动生成的网络配置(改用已有网络)
  2. 2. 精简label等非必要参数
  3. 3. 统一环境变量命名规范

配置优化对比

使用场景推荐

  • • 灾难恢复:定期生成容器快照,秒级重建服务
  • • 配置迁移:跨设备/跨平台转移服务无忧
  • • 文档整理:自动生成部署文档,新人交接神器
  • • 版本控制:配合Git实现配置变更追踪

避坑指南

  1. 1. 停止的容器无法解析,务必先启动目标容器
  2. 2. 慎用docker ps -aq批量转换,建议逐个处理
  3. 3. Swarm模式容器需要额外处理网络配置
  4. 4. 特权模式容器需手动检查安全策略

总结

经过二冰实测,这个工具特别适合以下兄弟:
✅ NAS玩家(群晖/威联通用户必备)
✅ 运维人员(快速重建生产环境)✅ 折腾党(频繁更换服务配置)

虽然生成的配置需要简单优化,但相比手动整理效率提升10倍不止!建议所有Docker用户都收藏这个神器,关键时刻能救命!

如果遇到问题或者有优化建议,欢迎在评论区留言讨论!求点赞求收藏~

最后,奉上我的超级无敌至尊docker库,二冰平时玩过的docker都整理到了这个仓库中了,一直在更新中,希望有github账号的兄弟能去给点个star,不知道玩啥的,都去这里面找,都给你们分好类了
仓库链接:github.com/TWO-ICE/Awes