Générer un docker-compose.yaml à partir de ses containers déjà en place

Parfois, la vie nous rattrape et notre fichier docker-compose n’est plus en synchro avec les images docker qu’on a rajouté. Ou parfois on appuie sur un mauvais bouton, le mauvais jour de la mauvaise semaine et on perd notre docker-compose à jamais. Heureusement, il y a le docker-autocompose pour générer automatiquement ou presque un beau docker-compose.yaml à partir des containers déjà lancés.

Le maison de cet outil se trouve ici : https://github.com/Red5d/docker-autocompose

Voici la bidouille :

Etape 1 : Installer pyaml et docker-py

Déjà si vous avez pas pip, il faudra l’installer avant de pouvoir installer ces 2 paquets :

apt install python-pip

Ensuite installer les dépendences :

pip install pyaml
pip install docker-py

Etape 2 : Lancer le script

On va inclure tous les containers qui nous interessent dans le script afin de générer un docker-compose.yaml complet.

Pour trouver les identifiants de containers, on fait un :

docker ps
ID des containers Docker

Ensuite on lance le script avec les container ID bien renseignés :

 docker run --rm -v /var/run/docker.sock:/var/run/docker.sock red5d/docker-autocompose <container-name-or-id> <additional-names-or-ids>...

Pour rediriger le résultats vers un fichier yaml :

 docker run --rm -v /var/run/docker.sock:/var/run/docker.sock red5d/docker-autocompose <container 1> <container 2> <container 3> > docker-compose.yaml

Conclusion.

Le fichier étant plutôt bavard, il est utile de l’optimiser si ça vous tente. Mais pour pas beacoup d’efforts, on a généré un docker-compose.yaml potable et réutilisable.

0 0 votes
Article Rating
S’abonner
Notification pour
guest

0 Commentaires
Commentaires en ligne
Afficher tous les commentaires
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x