[CRIU] Docker checkpoint restore demo
Ross Boucher
rboucher at gmail.com
Tue May 12 11:48:56 PDT 2015
I just thought I'd share a quick video of what I'm using Criu + Docker for,
in case anyone was interested, and to say thanks for all the help:
https://www.youtube.com/watch?v=F2L6JLFuFWs
When the document get executed, the code blocks are sent to a server, which
spins up a new Docker container and then runs the code. In between each
block, the running process is checkpointed (but left running). Every block
also has its own checksum, so on subsequent runs, we can examine the
checksums in order, and if we have a matching checkpoint we restore from
that point in the document and resume executing the new code.
If we aren't resuming, we pull a container from a pool of running
containers that are waiting for their first code block. When resuming, we
can create a new container from the base image and restore directly into it
without first needing to start it up. We even commit the docker filesystem
each time if it has changed, so we choose the correct docker image to
restore into.
All of the necessary changes in libcontainer are pending on the criu
branch, and my branch for support in docker is available here:
https://github.com/boucher/docker/tree/boucher-cr
Thanks again for the help. I'm looking forward to seeing criu support get
merged into Docker.
-Ross
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvz.org/pipermail/criu/attachments/20150512/51906052/attachment.html>
More information about the CRIU
mailing list