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

Docker容器秒转Compose!一行命令搞定存量迁移
兄弟们,有没有遇到过这种抓狂时刻?辛辛苦苦部署了几十个Docker容器,突然要迁移服务器,结果发现当初的docker run命令早就忘光光!二冰最近就在帮朋友迁移NAS时踩了这个坑,直到发现了这个黑科技——Docker-AutoCompose!
项目简介
项目名称:Docker-AutoCompose
开源地址:https://github.com/Red5d/docker-autocompose
这个神器能把你现有的Docker容器逆向工程生成docker-compose.yml文件,连卷映射、环境变量这些细节都给你安排得明明白白!

五大核心优势
- 1. 一键逆向:无论容器是通过命令行还是Portainer部署,统统自动解析
- 2. 精准还原:支持网络配置、存储卷、特权模式等复杂参数捕获
- 3. 批量处理:支持同时转换多个容器(实测50+容器无压力)
- 4. 智能清理:自动过滤临时容器和系统服务
- 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. 删除自动生成的网络配置(改用已有网络)
- 2. 精简label等非必要参数
- 3. 统一环境变量命名规范

配置优化对比
使用场景推荐
- • 灾难恢复:定期生成容器快照,秒级重建服务
- • 配置迁移:跨设备/跨平台转移服务无忧
- • 文档整理:自动生成部署文档,新人交接神器
- • 版本控制:配合Git实现配置变更追踪
避坑指南
- 1. 停止的容器无法解析,务必先启动目标容器
- 2. 慎用
docker ps -aq
批量转换,建议逐个处理 - 3. Swarm模式容器需要额外处理网络配置
- 4. 特权模式容器需手动检查安全策略
总结
经过二冰实测,这个工具特别适合以下兄弟:
✅ NAS玩家(群晖/威联通用户必备)
✅ 运维人员(快速重建生产环境)✅ 折腾党(频繁更换服务配置)
虽然生成的配置需要简单优化,但相比手动整理效率提升10倍不止!建议所有Docker用户都收藏这个神器,关键时刻能救命!
如果遇到问题或者有优化建议,欢迎在评论区留言讨论!求点赞求收藏~
最后,奉上我的超级无敌至尊docker库,二冰平时玩过的docker都整理到了这个仓库中了,一直在更新中,希望有github账号的兄弟能去给点个star,不知道玩啥的,都去这里面找,都给你们分好类了
仓库链接:https://github.com/TWO-ICE/Awes