Publié le : 28/09/2021

Les différents manières de déplacer un conteneur docker vers une autre machine

Les différents manières de déplacer un conteneur docker vers une autre machine

Dans la vie d’un système d’information, la migration est inévitable. Pour ce faire, nous avons besoin de déplacer notre application qui se trouve dans un conteneur dans un autre machine.

La migration des conteneurs Docker est une tâche à part entière. Nous allons vous montrer différents manières de le faire.

Sauvegarder et charger les images

Une image Docker est un package de code, de librairies, de fichier de configuration, etc… pour une application. Les conteneurs Docker sont créé sur ces images.

Les images peuvent être compressées en utilisant la commande docker save. Et ensuite les transférer sur une autre machine en utilisant n’importe quelle protocole de transfert de fichier.

Ci-dessous une exemple de code :

$ docker save nom-image > nom-image.tar

Une fois que le fichier soit transférer sur la nouvelle machine, nous pouvons faire : docker load. Ci-dessous un exemple de code :

$ cat nom-image.tar | docker load

Exportation et importation des conteneurs : une autre manière de déplacer un conteneur docker vers une autre machine

L’exportation d’un conteneur Docker signifie la compression du fichier. Les fichiers exportés ont un format gzip. Vous pouvez voir ci-dessous un exemple de code.

$ docker export nom-conteneur | gzip > nom-conteneur.gz

Ce fichier compressé est ensuite copié vers la nouvelle hôte avec rsync ou scp. Dans la nouvelle machine, nous pouvons par exemple exécuté le code ci-dessous pour importer le conteneur.

$ zcat nom-conteneur.gz | docker import - nom-conteneur

Ainsi, le nouveau conteneur créé sur le nouveau hôte peur être accessible avec la commande docker run.

L’inconvénient de l’outil d’exportation est qu’il ne copie pas les ports et les variables ou les volumes qui contienne les données.

De ce fait, cela peut provoquer des erreurs lors du chargement du conteneur sur les nouvelles machines. Dans ce cas, il est plutôt recommandé de ne pas l’utiliser. Sauf si vous créez manuellement toutes ces paramètres.

Migration de l’image du conteneur Docker

La méthode la plus répandue pour déplacer un conteneur Docker vers une autre machine est la migration de l’image lié à ce conteneur.

Sur le conteneur à déplacer, premièrement il faut sauvegarder l’image Docker dans un fichier compresser avec la commande docker commit.

$ docker commit container-id nom-image

Une fois que la commande ait été exécutée, l’image générée est compressée et déplacé e sur une nouvelle machine hôte. Et sur la nouvelle machine, le conteneur est créé avec la commande docker run.

Avec cette commande, les volumes ne sons pas migrées, par contre les données sont préservées dans le conteneur.

Les mots clés rattachés à cet article : Docker

Nos clients

Une vingtaine de clients nationaux et internationaux