Outils pour utilisateurs

Outils du site


tutoriaux:docker-related:migrate-docker

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

tutoriaux:docker-related:migrate-docker [2025/04/25 15:24] – créée fratertutoriaux:docker-related:migrate-docker [2025/04/25 15:54] (Version actuelle) – [Restauration volumes des données] frater
Ligne 1: Ligne 1:
 +====== Migration de conteneurs docker ======
 +
 +
 +==== Backup des volumes de données ====
 +
 +<code bash>
 +#!/bin/bash
 +
 +# List all Docker volumes with name containing 'volumes'
 +volumes=$(docker volume ls --filter name=volumes | awk '{print $2}')
 +
 +for volume in $volumes; do
 +  # Exclude the "DRIVER" line if it exists
 +  if [[ "$volume" != "DRIVER" ]]; then
 +    # Backup the volume to a tar.gz file in the current directory
 +    docker run --rm -v $volume:/volume -v $(pwd):/backup busybox tar czf /backup/${volume}.tar.gz -C /volume .
 +  fi
 +done
 +</code>
 +
 +
 +
 +
 +
 <cli> <cli>
-frater@docker02:~/ for backup in ./*.tar.gz; do volume_name=$(basename "$backup" .tar.gz); docker volume create "$volume_name"; docker run --rm -v "$volume_name":/volume -v ./:/backup busybox tar xzf /backup/"$(basename "$backup")" -C /volume; done;+frater@hades:~# sudo docker volume ls --filter name=peertube | awk '{print $2}' | grep -v "DRIVER" | while read volume; do docker run --rm -v $volume:/volume -v $(pwd):/backup busybox tar czf /backup/${volume}.tar.gz -C /volume .; done 
 +</cli> 
 + 
 +==== Restauration volumes des données ==== 
 +<code bash> 
 +#!/bin/bash 
 + 
 +# Loop through all .tar.gz files in the current directory 
 +for backup in *.tar.gz; do 
 +  # Extract the volume name from the filename (remove the .tar.gz extension) 
 +  volume_name=$(basename "$backup" .tar.gz) 
 +   
 +  # Create a Docker volume with the same name as the tar file 
 +  docker volume create "$volume_name" 
 +   
 +  # Unpack the contents of the tar.gz file into the newly created volume 
 +  docker run --rm -v "$volume_name":/volume -v "$(pwd)":/backup busybox sh -c 'cd /backup && tar xzf $(basename /backup/"$volume_name".tar.gz)' -C /volume 
 +done 
 +</code> 
 + 
 + 
 + 
 +<cli> 
 +frater@docker02:~# sudo for backup in ./*.tar.gz; do volume_name=$(basename "$backup" .tar.gz); docker volume create "$volume_name"; docker run --rm -v "$volume_name":/volume -v ./:/backup busybox tar xzf /backup/"$(basename "$backup")" -C /volume; done;
 </cli> </cli>
tutoriaux/docker-related/migrate-docker.txt · Dernière modification : 2025/04/25 15:54 de frater