6 votes

Existe-t-il un moyen d'hiberner un conteneur Docker ?

J'aime utiliser Jupyter Notebook. Si je l'exécute dans une VM de Virtualbox, je peux sauvegarder l'état de la VM, puis reprendre là où je me suis arrêté le lendemain. Puis-je faire quelque chose de similaire si je l'exécute dans un conteneur docker ? c'est-à-dire vider l'"état" du conteneur sur le disque, puis le remettre en marche et recharger l'"état" ?

4voto

Scott Points 1720

On dirait que docker checkpoint c'est peut-être ce que j'essaie d'accomplir ici. Il n'y a pas grand chose dans la documentation qui le décrit comme tel. En fait, la documentation sur docker checkpoint disent "Gérer les points de contrôle", ce qui n'est pas du tout utile.

UPDATE : C'est, en fait, ce que docker checkpoint est censé accomplir. Quand je fais un checkpoint de mon conteneur jupyter notebook, il le sauvegarde, je peux le redémarrer avec docker start --checkpoint [my_checkpoint] jupyter_notebook et il montre que les choses que j'avais en cours d'exécution sont dans un Running l'État. Cependant, les tentatives d'utiliser ensuite le Running les ordinateurs portables échouent. Je ne sais pas s'il s'agit d'un problème de CRIU ou de Jupyter, mais je vais en parler dans le git tracker approprié.

Quoi qu'il en soit, docker checkpoint est la chose qui est censée fournir une fonctionnalité de style VM-save-state/hibernate.

-1voto

FuzzyChef Points 384

Si vous arrêtez simplement le conteneur, il hiberne :

docker stop myjupyter
(hours pass)
docker start myjupyter
docker attach myjupyter

Je fais cela tout le temps, surtout avec les conteneurs docker qui contiennent des navigateurs web.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X