comment empaqueter et

Comment empaqueter et transférer des images Docker d’un serveur à un autre – CloudSavvy IT

Si vous avez créé une image Docker sur votre machine de développement et que vous souhaitez la déployer sur un serveur, vous pouvez utiliser un registre Docker, mais Docker dispose également d’outils pour enregistrer des images dans des fichiers et les charger sur un serveur différent.

Vous n’avez pas besoin d’un registre de conteneurs

En règle générale, pour transférer une version d’un conteneur (appelée image) vers un serveur distant, vous utilisez un registre de conteneurs Docker. C’est de loin la meilleure méthode : il s’agit d’un point d’autorité unique, ce qui facilite la distribution des mises à jour sur plusieurs serveurs. Cela ne vous oblige pas non plus à rendre le conteneur public ; il existe de nombreux excellents registres de conteneurs privés, tels que le GCR de Google et l’ECS d’AWS. Le Docker Hub prend même en charge les référentiels privés. Si vous êtes simplement préoccupé par la confidentialité, passez à un registre privé et continuez à utiliser docker push et docker pull.

Cependant, pour ceux qui cherchent à le faire à l’ancienne, la CLI Docker contient des outils pour enregistrer des images dans des fichiers et les charger sur un serveur distant.

Pour enregistrer une image, vous pouvez utiliser docker save, en spécifiant un fichier de sortie, puis spécifiez un nom d’image et une balise :

docker save -o ./savedimage imagename:tag

Si vous ne spécifiez pas de balise, Docker empaquetera toutes les balises.

Cela sérialisera et enregistrera une copie de l’image sous le fichier de sortie. L’image est stockée dans un fichier tar. Si vous souhaitez l’enregistrer en tant que tar.gz, vous pouvez omettre le -o flag et rediriger la sortie vers gzip:

docker save imagename:tag | gzip > savedimage.tar.gz

Vous pouvez alors prendre ce fichier et scp ou une copie FTP sur le serveur cible. Une fois qu’il est là, vous pouvez utiliser docker load pour l’importer à nouveau :

docker load -i savedimage

Cela rendra l’image disponible sur le système cible comme si vous aviez exécuté docker build . -t imagename. Vous pouvez l’utiliser comme une image construite localement avec docker container run:

docker container run imagename

Laisser un commentaire