2026 docker run启动的容器通过命令导出为docker-composer.yml文件

前提是别人通过docker run 启动的容器,我这里没有备份和命令,我怎么才能把docker run启动的所有容器通过命令导出为docker-composer.yml文件。

导出的命令有一个镜像是国外的镜像,点击这里下载

1.查看所有容器

复制代码
[root@ecs-63dd ~]# docker ps -a
CONTAINER ID   IMAGE                COMMAND                  CREATED          STATUS                     PORTS                                                                      NAMES
ac50c2418061   postgres:14          "docker-entrypoint.s..."   4 minutes ago    Up 4 minutes               0.0.0.0:5432->5432/tcp, :::5432->5432/tcp                                  postgres
547faaccb3af   redis                "docker-entrypoint.s..."   5 minutes ago    Up 5 minutes               0.0.0.0:6379->6379/tcp, :::6379->6379/tcp                                  redis
c87cb0da9c91   nginx                "/docker-entrypoint...."   5 minutes ago    Up 5 minutes               0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   nginx
759f4890ef2d   httpd                "httpd-foreground"       6 minutes ago    Up 6 minutes               0.0.0.0:8080->80/tcp, :::8080->80/tcp                                      httpd
992cc8710f0b   mysql:5.7            "docker-entrypoint.s..."   13 minutes ago   Up 13 minutes              0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp                       mysql57
[root@ecs-63dd ~]# 

2.一次性导出所有容器

复制代码
# 抓取全部容器ID,批量生成完整 compose 文件
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose:latest $(docker ps -aq) > all_container_compose.yml

[root@ecs-63dd ~]# ls
[root@ecs-63dd ~]# # 抓取全部容器ID,批量生成完整 compose 文件
[root@ecs-63dd ~]# docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose:latest $(docker ps -aq) > all_container_compose.yml
[root@ecs-63dd ~]# ls
all_container_compose.yml
[root@ecs-63dd ~]# 

3.删除所有容器

bash 复制代码
docker rm -f $(docker ps -a -q)  #强制删除所有容器

4.利用导出的文件启动容器

bash 复制代码
docker compose -f all_container_compose.yml up -d


docker compose up -d  

5.验证结果没有问题

bash 复制代码
[root@ecs-63dd ~]# ls
all_container_compose.yml
[root@ecs-63dd ~]# docker compose -f all_container_compose.yml up -d
WARN[0000] /root/all_container_compose.yml: `version` is obsolete 
[+] Running 5/5
 ✔ Container nginx     Started                                                                                                      1.1s 
 ✔ Container postgres  Started                                                                                                      0.9s 
 ✔ Container httpd     Started                                                                                                      1.2s 
 ✔ Container mysql57   Started                                                                                                      1.0s 
 ✔ Container redis     Started                                                                                                      0.7s 
[root@ecs-63dd ~]# docker ps -a
CONTAINER ID   IMAGE         COMMAND                  CREATED         STATUS         PORTS                                                                      NAMES
faff11adbecf   mysql:5.7     "docker-entrypoint.s..."   7 seconds ago   Up 6 seconds   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp                       mysql57
0d8674d38ce4   nginx         "/docker-entrypoint...."   7 seconds ago   Up 6 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   nginx
46ef44ce45c7   httpd         "httpd-foreground"       7 seconds ago   Up 5 seconds   0.0.0.0:8080->80/tcp, :::8080->80/tcp                                      httpd
8895ed1c2515   redis         "docker-entrypoint.s..."   7 seconds ago   Up 6 seconds   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp                                  redis
d9c5ab39044a   postgres:14   "docker-entrypoint.s..."   7 seconds ago   Up 6 seconds   0.0.0.0:5432->5432/tcp, :::5432->5432/tcp                                  postgres
[root@ecs-63dd ~]#

[点击并拖拽以移动]
​
相关推荐
江畔柳前堤3 小时前
第17章:Docker 大厂面试题精选(腾讯/阿里/字节/美团)
运维·网络·spring cloud·docker·容器·eureka
辉的技术笔记6 小时前
Dify 卡在入口?Gunicorn + Nginx 的正确打开方式
docker
辉的技术笔记1 天前
Dify 自部署为什么跑不动?6 层瓶颈诊断法教你定位
docker
程序员老赵2 天前
Docker 部署 Redmine:老牌开源项目管理部署实测记录
docker·开源·团队管理
程序员老赵2 天前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
lichenyang4534 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4534 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4534 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4534 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
Patrick_Wilson9 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js