Le message décrit les étapes pour effectuer la sauvegarde (instantané) de Docker Container et le restaurer. Veuillez noter que cet article traite principalement de la validation d'un conteneur en tant qu'image. Cela fonctionne sur le conteneur qui n'utilise pas de volume de données. Pour les conteneurs avec volume de données, la sauvegarde du volume de données doit être effectuée séparément.
Prise de sauvegarde du conteneur Docker
1. Validez le conteneur requis en tant qu'image
# docker commit -p [container-id] backup01 sha256:89682d4xxxxxx
Maintenant, une nouvelle image backup01 sera créée. Veuillez noter que cela ne couvrira pas le volume de données. Vous devez effectuer la sauvegarde du volume de données (le cas échéant) séparément.
Pour connaître ce répertoire de données (emplacement du volume de données) d'un conteneur, utilisez la commande 'docker inspect container-name ‘. Vous obtiendrez une section intitulée "Montages". L'emplacement mentionné dans "Source" est le volume de données. Vous pouvez directement sauvegarder ce dossier (ici /site) pour obtenir une sauvegarde du volume de données.
"Mounts": [ { "Source": "/site", "Destination": "/usr/xx/xxx/xxxs", "Mode": "", "RW": true, "Propagation": "rprivate"
2. Vous pouvez enregistrer l'image backup01 dans le fichier tar à l'aide de la commande suivante :
# docker save -o backup01.tar backup01
# ls -al | grep back -rw------- 1 root root 178697728 Mar 31 23:35 backup01.tar
Vous pouvez choisir d'enregistrer le fichier tar sur le point de montage NFS. Une autre option consiste à pousser directement l'image backup01 vers votre registre local. Avant de transférer l'image de back-up, nous devons la baliser de manière appropriée.
# docker tag backup01 localhost:5000/backup-image:v1
Dans cet exemple, localhost est le nom d'hôte où se trouve le registre local et 5000 est le numéro de port sur lequel le registre écoute. Si vous travaillez sur un moteur Docker situé sur un hôte différent du registre, vous devez modifier le nom d'hôte pour qu'il pointe vers l'hôte correct. Notez que le référentiel et le nom de la balise, backup-image:v1 dans l'exemple, doivent tous être en minuscules pour être une balise valide.
# docker push backup-image:v1
Restauration d'un conteneur Docker
1. L'image peut être extraite du fichier tar de sauvegarde à l'aide de la commande suivante
# docker load -i /tmp/backup01.tar ff91b8b5abb1: Loading layer [==================================================>] 2.56 kB/2.56 kB Loaded image: backup01:latest
Vous pouvez créer un conteneur à partir de cette image en utilisant "docker run “. Si vous aviez un volume de données sur le conteneur d'origine. Vous devez également restaurer le volume de données et exécuter le conteneur avec le volume de données (docker run -v )
2. En cas d'image poussée. Vous pouvez directement le tirer.
# docker pull localhost:5000/backup-image:v1