将docker容器的配置导出为docker-compose.yml

将容器的配置导出docker-compose.yml

现象1

有时候,我们需要想知道docker容器的运行参数、环境变量等配置,以便容器以后被删掉之后,可以重新运行起来。特别是在测试环境,有些容器可能就是一个docker run就运行起来了。或者随便找一个目录丢了一个docker-compose.yml运行起来,但是下次再回来找就找不到docker-compose.yml的路径了。这时候进行对程序做升级、参数变更等操作,会非常麻烦,需要一一去对环境变量和运行参数

现象2

某些特殊情况可能导致 docker-compose.yml 被删掉且找不回了,但是运行中的 container 还没有删掉,那么有没有可能通过 container 反向生成配置文件呢?

解决方法

1 用dctc
dctc是一个可以根据docker容器的信息生成docker-compose.yml配置的工具。这样无论是用docker run跑起来的,还是忘了docker-compose.yml的位置了,只要再用dctc来生成一个docker-compose.yml配置即可对其做变更后,再进行部署。
dctc的使用非常简单,dctc 后加容器id或者名字即可,默认的,它会把docker-compose的配置输出到标准输出,可以对输出运行重定向或者用 -o参数指定输出的路径。
工具地址:
tenfyzhong/dctc​github.com
原文链接:https://blog.csdn.net/weixin_29623481/article/details/112578347

2 用autocompose
直接安装

pip install pyaml
pip install docker
python autocompose.py <container-name-or-id>

docker方式 portainer-admin为容器名或容器id

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock red5d/docker-autocompose portainer-admin

项目地址 https://github.com/Red5d/docker-autocompose


作者:过错
出处:http://www.cnblogs.com/wang2650/
关于作者:net开发做的久而已。十余年时光虚度!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。如有问题,可以邮件:wang2650@163.com  联系我,非常感谢。

原文地址:https://www.cnblogs.com/wang2650/p/14713310.html