Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a way to hibernate a docker container

Tags:

docker

I like to use Jupyter Notebook. If I run it in a VM in virtualbox, I can save the state of the VM, and then pick up right where I left off the next day. Can I do something similar if I were to run it in a docker container? i.e. dump the "state" of the container to disk, then crank it back up and reload the "state"?

like image 437
Him Avatar asked Jul 17 '17 21:07

Him


1 Answers

It looks like docker checkpoint may be the thing I'm attempting to accomplish here. There's not much in the docs that describes it as such. In fact, the docs for docker checkpoint say "Manage checkpoints" which is massively unhelpful.

UPDATE: This IS, in fact, what docker checkpoint is supposed to accomplish. When I checkpoint my jupyter notebook container, it saves it, I can start it back up with docker start --checkpoint [my_checkpoint] jupyter_notebook, and it shows the things I had running as being in a Running state. However, attempts to then use the Running notebooks fail. I'm not sure if this is a CRIU issue or a Jupyter issue, but I'll bring it up in the appropriate git issue tracker.

Anyhoo docker checkpoint is the thing that is supposed to provide VM-save-state/hibernate style functionality.

like image 98
Him Avatar answered Oct 27 '22 15:10

Him