Comment prendre des instantanés de conteneur dans docker

Comment pouvons-nous prendre des instantanés de conteneur et charger le snapshot dans un autre hôte docker. J’aime bien connaître le snapshot du conteneur et non l’image. Je suis confondu avec les commandes export / import et save / load dans docker. J’aime avoir plus de clarté ou de doc pour mieux les comprendre.

L’instantané pour avoir les métadonnées pour exécuter le conteneur et les toits. L’état exact doit être présent dans l’autre hôte docker. L’aide dans cette direction serait formidable.

La commande docker commit prend un instantané de votre conteneur. Cet instantané est une image que vous pouvez placer sur un référentiel (privé) pour pouvoir le tirer sur un autre hôte.

Une option qui n’utilise pas une image (que vous voulez éviter, par exemple) est en effet sauvegarder et charger . Selon la documentation, cela enregistre votre conteneur avec toutes les couches de fichiers. Donc, si vous avez une configuration avec des conteneurs enfants tels que Ubuntu > JavaJDK > Elasticsearch > my-container , les 4 couches de fichiers s’y retrouveront. Mais vous pouvez avoir les trois premières couches déjà présentes en tant qu’images sur l’autre hôte, auquel cas la save représente une charge importante. Ensuite, vous pouvez utiliser l’ exportation et l’ importation , qui, selon la documentation, exporte uniquement le calque de fichier supérieur (en d’autres termes, le conteneur et non les images en dessous).

Vous trouverez plus d’informations sur les images, les conteneurs, les couches de fichiers, etc. dans la documentation officielle (par exemple, le système de fichiers .

Si vous recherchez un “état exact”, y compris l’état d’exécution, vous devrez peut-être utiliser CRIU (sharepoint contrôle).

Étant donné une machine hôte Linux, Docker peut utiliser CRIU pour enregistrer l’état d’exécution du conteneur. CRIU est toujours “expérimental”, et vous pouvez voir toutes les commandes possibles (après avoir activé le mode expérimental) en exécutant:

 docker checkpoint 

Vous pouvez utiliser l’option --save-dir pour placer le sharepoint contrôle dans le répertoire de votre choix.

Vous pouvez alors utiliser

 docker start --checkpoint (checkpoint name) --checkpoint-dir (checkpoint directory) 

pour restaurer le sharepoint contrôle.

Si vous déplacez des serveurs, vous devrez peut-être apporter l’image avec vous.

Vous pouvez en savoir plus sur les documents: https://docs.docker.com/engine/reference/commandline/checkpoint/