首页 > 其他分享 >通过运行中的容器生成 Docker Compose 配置文件

通过运行中的容器生成 Docker Compose 配置文件

时间:2023-11-10 12:01:29浏览次数:36  
标签:容器 Compose 配置文件 生成 Docker docker


背景

笔者之前有一次不小心删除了原始的 docker-compose.yml 文件,不过正在运行的 Docker 容器还在,找了许久,发现一个方法可以从这些容器中生成一个等效的 Docker Compose 配置文件。本文将介绍使用 autocompose 工具从正在运行的容器中反向生成 docker-compose.yml 文件。

安装所需工具:

首先,确保你已经安装了 docker-autocompose 工具,以及相关的 Python 包。

安装 docker-autocompose

docker pull ghcr.io/red5d/docker-autocompose:latest

生成 Docker Compose 文件

使用以下命令,将运行中的容器反向生成 Docker Compose 配置文件。替换 <container-name-or-id> 为你要导出的容器的名字或 ID。

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/red5d/docker-autocompose <container-name-or-id>

手动编辑和调整:

生成的 docker-compose.yml 文件可能包含了很多所有细节,特别是容器内部的数据卷、环境变量等。你可能需要进一步手动编辑和调整生成的文件,比如进行一些删减。检查容器的端口映射、网络设置、卷挂载等配置。

启动服务:

保存并根据生成的 docker-compose.yml 文件重新构建服务。使用以下命令启动服务:

docker-compose up -d

现在,你已经成功地从运行中的容器生成了一个新的 Docker Compose 配置文件,并成功将服务重新搭建起来。

结论

docker-autocompose 工具提供了从运行中的 Docker 容器中反向生成 Docker Compose 配置文件的便捷方法。当丢失原始的配置文件时,这个工具能够帮助我们快速恢复服务环境,避免重复配置带来的工作量。


标签:容器,Compose,配置文件,生成,Docker,docker
From: https://blog.51cto.com/u_5788943/8295058

相关文章

  • zabbix基于docker容器部署配置企业微信机器人告警实例
    配置zabbixserver1.先在企业微信内创建机器人 2.查看webhook地址  3.找到脚本执行目录 grep-Ev'^$|#'/etc/zabbix/zabbix_server.conf|grep^A 4.进入默认的脚本存放路径cd/usr/lib/zabbix/alertscripts 5.新建wechat.p......
  • 为zabbix_server_docker容器安装Python 3完善机器人告警脚本环境
    1.安装Python3dnfinstallpython3 2.要验证安装,请输入以下命令检查Python版本:python3--version 3.建立软连接:ln-s/usr/bin/python3.6/usr/bin/python  4.安装epel:dnfinstallpython3-devel-y 5.启用epel:dnfins......
  • 修改运行中的docker容器的端口映射的三种方式
    前言在dockerrun创建并运行容器的时候,可以通过-p指定端口映射规则。但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改。当dockerstart运行容器后并没有提供一个-p选项或设置,让你修改指定端口映射规则。那么这种情况我们该怎么处理呢?方法一:删除原有容器,重新建新容......
  • docker安装es8.11
    一、安装esdocker拉取要指定版本标签,不能用lastest,官方文档目前最新是8.11,就决定安装这个版本的,主要是注意改下配置文件#高版本安装Kibana的时候需要和ElasticSearch在同一网段内dockernetworkcreatees-net#给映射文件夹授权chmod-R775/data/es#单节点模式,9200端口(......
  • docker在centos7下的安装
    1.安装/升级Docker客户端#step1:安装必要的一些系统工具sudoyuminstall-yyum-utilsdevice-mapper-persistent-datalvm2#Step2:添加软件源信息sudoyum-config-manager--add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#Step3:更......
  • Docker
    Docker发展史(1)物理机时代:多个应用程序运行在一台机器上(2)虚拟机时代:一台物理机器安装多个虚拟机(VM),一个虚拟机运行多个程序(3)容器化时代:一台物理机安装多个容器实例(container),一个容器运行多个程序安装先准备一个mysql容器用于复制配置文件,配置好之后把其删除再创建一......
  • Docker安装并使用Mysql(可用详细)
    Docker安装并使用Mysql目录  一、Docker安装Mysql    1、启动Docker    2、查询mysql    3、安装mysql      1.默认拉取最新版本mysql      2.拉取指定版本mysql_5.7    4、查看镜像    5、本地创建挂载目录-......
  • 【腾讯云|云原生】自定制轻量化表单Docker快速部署
    ......
  • docker pull timeout问题
    背景最近在用docker搭个开发环境,参照的是之前记录的那个笔记:Docker相关发现在拉取镜像的时候有点问题,即使用如下命令dockerpullubuntu:18.04报错: “net/http:TLShandshaketimeout”这个主要是因为docker默认镜像拉取地址为国外仓库,会存在网络上的各种问题,你懂的解决只需要......
  • 使用docker调试和部署pwn题
    目录使用docker调试和部署pwn题0x0前言0x1调试环境0x2出题模板0x3使用技巧使用docker调试和部署pwn题使用docker快速部署不同架构、不同版本的调试环境。给出docker环境下pwn题部署模板。0x0前言关于docker的基础概念不做过多的介绍。可以到Docker:Accelerated,Conta......