Hello,
tuto sans prétention vu que je ne fais que transposer en français une info trouvée sur le forum d'openmediavault.
Mes excuses par avance si le tuto est déjà existant, j'ai fait une recherche dans cette section avec autocompose et rien trouvé.
Source openmediavault: Any way to create a docker-compose.yml from installed containers?
Je découvre docker-compose (je m'appête à passer de omv4 à omv6 donc je fais mes sauvegardes), donc n'hésitez pas à me dire si j'ai indiqué une bêtise ou s'il manque un point important ^^
tuto sans prétention vu que je ne fais que transposer en français une info trouvée sur le forum d'openmediavault.
Mes excuses par avance si le tuto est déjà existant, j'ai fait une recherche dans cette section avec autocompose et rien trouvé.
Source openmediavault: Any way to create a docker-compose.yml from installed containers?
- Installer git
Bash:sudo apt update sudo apt install git
- Se placer là où l'on a ses images, ou à l'endroit de son choix
Bash:cd /home/docker1
- Récupérer le projet docker-autocompose (source) (ne pas créer de dossier, git le fera pour vous)
Bash:sudo git clone https://github.com/Red5d/docker-autocompose.git
- Se placer dans le dossier créer
Bash:cd /home/docker1/docker-autocompose
- Construire l'image (ne pas oublier le point à la fin)
Bash:sudo docker build -t red5d/docker-autocompose .
- Créer le fichier bash (j'ai dû le créer un cran au dessus dans l'arborescence sinon celà ne trouvait pas l'image docker)
Bash:cd ../ touch run_backup_compose_containers.sh
- Editer le fichier précédemment créé
Bash:nano run_backup_compose_containers.sh
- Copier coller les lignes suivantes dans le fichier précédemment créé (ne crééra des docker-compose QUE pour les containers actuellement en fonction. Si vous voulez TOUT sauvegarder avec ceux qui ne tournent pas, il faut ajouter -a entre 'docker ps' et '--no-trunc' sur la première ligne).
Pensez bien à remplacer la valeur de "Path" par le chemin vers lequel vous voulez stocker vos fichiers
Le "-v 3" n'est pas obligatoire sur la ligne du docker run car c'est le paramètre qui permet de régler la version du docker compose (donc ici 3), mais celà vous permet de régler plus facilement si vous voulez du compose 2 ou 1 ;-)
Bash:Containers=$(docker ps --no-trunc --format "{{.ID}};{{.Names}}")Date=$(date +%Y-%m-%d-%H%M) Path="/home/user/Containers_config/$Date/" mkdir -p "$Path" echo "$Containers" | while IFS= read -r line; do echo "$line" | while IFS=';' read ID Name; do docker run --rm -v /var/run/docker.sock:/var/run/docker.sock red5d/docker-autocompose -v 3 "$ID" > "$Path/$Name.yml" echo "$ID $Name" done done
- Rendre le fichier executable:
Bash:chmod +x run_backup_compose_containers.sh
- Lancer !
Bash:./run_backup_compose_containers.sh
- CONTROLER que vos fichiers compose sont bien générés avant toute autre opération irréversible ;-) (genre tout supprimer ou faire une clean install)
Je découvre docker-compose (je m'appête à passer de omv4 à omv6 donc je fais mes sauvegardes), donc n'hésitez pas à me dire si j'ai indiqué une bêtise ou s'il manque un point important ^^