3 ms·
CRIU has worked fine for a long time. I've used CRIU under LXC in a lab, and CRIU alone in production. This problem arises because Docker positions their intri
by jsmthrowaway 12y ago
CRIU has worked fine for a long time. I've used CRIU under LXC in a lab, and CRIU alone in production.
This problem arises because Docker positions their intrinsics as novel containers, even though there was an entire field of prior art long before Docker showed up. Hence your confusion and worry checkpointing will never be supported; it already was, but you didn't know about it, because to you Docker == containers. One of my many problems with Docker, because they feed that.
Look how easy it is: http://criu.org/LXC http://criu.org/LXC
- mbreese 12y agoFrom that example, it's pretty clear you can checkpoint and restart a container with CRIU, but can you migrate that state/checkpoint file to a different host? I can see restarting it on the same host, but a different host sounds "difficult". That's what I have the most questions about. I'm not sure how that would work between systems, particularly open files handles, sockets, etc... If you have a "share-nothing" architecture, I think that would be easier, but it you have to maintain some kind of state within the container, things get real hairy fast. I have to agree though that it seems strange to me that Docker has gotten a lot of support so quickly when things like LXC, FreeBSD Jails, or Solaris Zones have been established for so long. I've only played with Jails a bit, having done more work with full virtual machines in Linux. The other containers, I at least had a familiarity with before Docker (nothing in production). However, I had not heard about CRIU until today. But it looks really interesting!
- wernerb 12y agoThere is an active pull request here: https://github.com/docker/libcontainer/pull/479#issuecomment-94060567 https://github.com/docker/libcontainer/pull/479#issuecomment...