[CRIU] checkpointing a docker container and restoring the process to a new container

Pavel Emelyanov xemul at parallels.com
Fri Apr 24 04:50:25 PDT 2015


On 04/24/2015 12:11 AM, Ross Boucher wrote:
> Another update: I was intrigued by the exit code (which implies SIGPIPE?), since the docker process
> I was running was indeed piping:
> 
>     /bin/sh -c 'i=0; while true; do echo $i; i=$(expr $i + 1); sleep 3; done'
> 
> I tried the same process of checkpointing in one container and restoring to another by writing to a file instead:
> 
>     /bin/sh -c 'i=0; while true; do echo $i > /tmp/foo; i=$(expr $i + 1); sleep 3; done'
> 
> And this worked correctly! So I've narrowed it done some more, and I'll continue to look into it.

If these are pipes indeed (docker terminals?) then the --inherit-fd option should be used.
Saied (from Google) did some work doing this for docker+criu, he can shed more light, but
he's on vacation right now :)

-- Pavel



More information about the CRIU mailing list