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

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

容器转为镜像
docker commit 容器id 镜像名:版本号
docker save -o 压缩文件名称 镜像名:版本号
docker load -i 压缩文件名称
通过dockerfile 构建镜像 docker build -f dockerfile -t 镜像名:版本号 filepath

现象1

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

现象2

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

解决方法

直接安装

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

posted @ 2021-04-28 11:18  过错  阅读(3150)  评论(0编辑  收藏  举报