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 ~]#

[点击并拖拽以移动]
​
相关推荐
apgk115 小时前
基于Canal实现mysql数据同步到消息队列(RabbitMQ/Kafka)详细操作教程
docker·kafka·rabbitmq
fatcoder15 小时前
玩转Docker 06 — 容器网络
前端·后端·docker
AR_xsy17 小时前
docker--资源配额 配置
运维·docker·容器
国际云,接待17 小时前
Docker 容器突然退出、服务莫名重启:从 OOMKilled 到内存泄漏的生产排查手册
运维·docker·容器
橙-极纪元18 小时前
把docker的镜像文件从一台服务器中,迁移至另一台服务器
服务器·docker·容器
雨声不在20 小时前
docker-android 重启后镜像起不来
android·docker·容器
宋辰轩1 天前
Docker导致的wsl2崩溃问题
docker·wsl2
码农阿豪1 天前
Ubuntu部署GodoOS:Docker搭建Web办公桌面并实现远程访问
前端·ubuntu·docker
纵道软件1 天前
使用 Docker 构建自定义 SeaTunnel Web 服务镜像
前端·docker·容器
GlueNa2SiO32 天前
10-Docker生产环境部署与K8s入门
笔记·学习·docker·容器·kubernetes