Sauvegarder plusieurs images dans une archive tar
Dans l'étape précédente, vous avez appris à sauvegarder une seule image Docker. Dans cette étape, vous apprendrez à sauvegarder plusieurs images Docker dans un seul fichier d'archive tar. Cela est pratique lorsque vous avez besoin de regrouper plusieurs images pour la distribution ou la sauvegarde.
Tout d'abord, téléchargeons une autre image Docker pour avoir plus d'une image à sauvegarder. Nous allons télécharger l'image alpine
, qui est une distribution Linux légère.
docker pull alpine
Vous devriez voir un affichage indiquant que l'image alpine
est en cours de téléchargement.
Using default tag: latest
latest: Pulling from library/alpine
...
Status: Downloaded newer image for alpine:latest
docker.io/library/alpine:latest
Maintenant, vous avez à la fois les images hello-world
et alpine
localement. Vous pouvez le vérifier en listant vos images locales :
docker images
La sortie devrait montrer à la fois hello-world
et alpine
dans la liste.
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest ... ... ...
alpine latest ... ... ...
Pour sauvegarder plusieurs images dans une seule archive tar, vous n'avez qu'à lister les noms des images après le nom du fichier de sortie dans la commande docker save
. La syntaxe est docker save -o <output_file.tar> <image1_name> <image2_name> ...
.
Nous allons sauvegarder les images hello-world
et alpine
dans un fichier nommé images.tar
dans votre répertoire ~/project
.
docker save -o images.tar hello-world alpine
Après avoir exécuté cette commande, un fichier nommé images.tar
sera créé dans votre répertoire ~/project
. Ce fichier contient les images Docker hello-world
et alpine
.
Vous pouvez vérifier que le fichier a été créé et vérifier sa taille en utilisant la commande ls -lh
. La taille sera supérieure au fichier hello-world.tar
de l'étape précédente car il contient deux images.
ls -lh images.tar
Vous devriez voir un affichage similaire à celui-ci :
-rw-r--r-- 1 labex labex ... images.tar
Pour confirmer que les deux images sont incluses dans l'archive, vous pouvez lister le contenu du fichier tar en utilisant la commande tar -tf
.
tar -tf images.tar
La sortie devrait montrer des fichiers liés aux deux images, y compris leurs manifestes et les données des couches. Vous devriez voir des entrées telles que hello-world/
et alpine/
.
...
hello-world/
hello-world/manifest.json
...
alpine/
alpine/manifest.json
...
Ce seul fichier tar peut maintenant être utilisé pour charger les deux images sur un autre système en utilisant docker load
.