<div dir="ltr">That&#39;s because your command line is incomplete.  Also, note that you need to bind mount the root before doing &quot;criu restore&quot;.  Below is how I do it.  You can optionally run &quot;sudo tail -f /var/lib/docker/vfs/dir/b3438bf5d19d241058659d3e56b7b516100a7db9720c6869a04b36528d297fe3/foo&quot; and actually see the output stop after dump and restart after restore.<div>
<br></div><div>--Saied<br><div><br></div><div><div># docker run -d busybox:latest /bin/sh -c &#39;i=1; while true; do echo $i &gt;&gt; /foo; i=`expr $i + 1`; sleep 3; done&#39;</div><div>b3438bf5d19d241058659d3e56b7b516100a7db9720c6869a04b36528d297fe3</div>
<div>#</div><div># ps -efl | grep /bin/sh</div><div>4 S root     30210 29160  0  80   0 -   791 wait   10:08 ?        00:00:00 /bin/sh -c i=0; while true; do echo $i &gt;&gt; /foo; i=`expr $i + 1`; sleep 3; done</div><div>
0 S root     30247 26797  0  80   0 -  2936 pipe_w 10:08 pts/2    00:00:00 grep --color=auto /bin/sh</div><div>#                        </div><div># criu dump -D /tmp/img.vfs -o dump.log -v4 --ext-mount-map /etc/resolv.conf:/etc/resolv.conf --ext-mount-map /etc/hostname:/etc/hostname --ext-mount-map /etc/hosts:/etc/hosts --evasive-devices -t 30210</div>
<div>#</div><div># echo $?</div><div>0</div><div>#</div><div># ps -efl | grep /bin/sh</div><div>0 S root     30425 26797  0  80   0 -  2936 pipe_w 10:11 pts/2    00:00:00 grep --color=auto /bin/sh</div><div>#</div><div># mount --rbind /var/lib/docker/vfs/dir/b3438bf5d19d241058659d3e56b7b516100a7db9720c6869a04b36528d297fe3 /var/lib/docker/vfs/dir/b3438bf5d19d241058659d3e56b7b516100a7db9720c6869a04b36528d297fe3</div>
<div>#</div><div># criu restore -D /tmp/img.vfs -o restore.log -v4 -d --pidfile /tmp/img.vfs/restore.pid \</div><div>        --root /var/lib/docker/vfs/dir/b3438bf5d19d241058659d3e56b7b516100a7db9720c6869a04b36528d297fe3 \</div>
<div>        --ext-mount-map /etc/resolv.conf:/etc/resolv.conf \</div><div>        --ext-mount-map /etc/hostname:/var/lib/docker/containers/b3438bf5d19d241058659d3e56b7b516100a7db9720c6869a04b36528d297fe3/hostname \</div>
<div>        --ext-mount-map /etc/hosts:/var/lib/docker/containers/b3438bf5d19d241058659d3e56b7b516100a7db9720c6869a04b36528d297fe3/hosts</div><div>#</div><div># echo $?</div><div>0</div><div>#</div><div># umount /var/lib/docker/vfs/dir/b3438bf5d19d241058659d3e56b7b516100a7db9720c6869a04b36528d297fe3</div>
<div>#</div><div>#</div><div># ps -efl | grep /bin/sh</div><div>5 S root     30478     1  0  80   0 -   791 wait   10:12 ?        00:00:00 /bin/sh -c i=0; while true; do echo $i &gt;&gt; /foo; i=`expr $i + 1`; sleep 3; done</div>
<div>0 S root     30524 26797  0  80   0 -  2936 pipe_w 10:12 pts/2    00:00:00 grep --color=auto /bin/sh</div><div>#</div></div><div><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Aug 5, 2014 at 10:47 PM, Pradeep Padala <span dir="ltr">&lt;<a href="mailto:ppadala@gmail.com" target="_blank">ppadala@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class=""><div dir="ltr"><span style="font-family:arial,sans-serif;font-size:12.800000190734863px">Hi Saied,</span><div style="font-family:arial,sans-serif;font-size:12.800000190734863px">
<br></div><div style="font-family:arial,sans-serif;font-size:12.800000190734863px">
Thanks for your detailed reply. I changed the storage driver to vfs, but still getting the same error. Am I missing something here?</div><div style="font-family:arial,sans-serif;font-size:12.800000190734863px"><br></div>
<div style="font-family:arial,sans-serif;font-size:12.800000190734863px">
<div>$ ./criu --version</div><div>Version: 1.3-rc2</div><div>GitID: 5cb0c0d</div><div><br></div><div>$ docker info</div><div>Containers: 2</div><div>Images: 3</div><div>Storage Driver: vfs</div><div>Execution Driver: native-0.2</div>

<div>Kernel Version: 3.15.7-200.fc20.x86_64</div><div><br></div><div>$ ./criu dump -t 1473 -D /tmp/docker</div><div>Error (mount.c:449): 147:./dev/console doesn&#39;t have a proper root mount</div><div>Error (cr-dump.c:1914): Dumping FAILED.</div>

</div><div style="font-family:arial,sans-serif;font-size:12.800000190734863px"><br></div><div style="font-family:arial,sans-serif;font-size:12.800000190734863px">Regards,</div><div style="font-family:arial,sans-serif;font-size:12.800000190734863px">

Pradeep</div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div class="">On Tue, Aug 5, 2014 at 9:35 PM, Saied Kazemi <span dir="ltr">&lt;<a href="mailto:saied@google.com" target="_blank">saied@google.com</a>&gt;</span> wrote:<br>

</div><div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Pradeep,<div><br></div><div>The official response should come from the CRIU development team but since I have been looking at this issue I can provide some info.</div>

<div><br></div><div>Dumping and restoring Docker containers using CRIU as-is is not possible at the moment.</div>
<div><br></div><div>As you noted, work is in progress, but it will take some time to finish.  So far, support for external bind mounts (e.g., /etc/hosts for Docker containers) and restoration of control groups has been added and is already available in 1.3-rc2.</div>


<div><br></div><div>If you use the VFS graph driver (as opposed to the default AUFS), it&#39;s possible to dump and restore a container with CRIU using the external bind mount options.  However, currently there is no way to tell Docker that a container was restored, so &quot;docker ps&quot; would show its status as exited.</div>


<div><br></div><div>Work is underway to add AUFS support to CRIU as well as checkpoint/restore support in libcontainer and Docker.  Ultimately checkpointing and restoring Docker containers should be done by Docker itself (e.g., docker checkpoint, docker restore) with a call to CRIU for doing the actual checkpoint and restore operation.</div>


<div><br></div><div>Hope this helps...</div><div><br></div><div>--Saied</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div>On Tue, Aug 5, 2014 at 3:19 PM, Pradeep Padala <span dir="ltr">&lt;<a href="mailto:ppadala@gmail.com" target="_blank">ppadala@gmail.com</a>&gt;</span> wrote:<br>


</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr">Hi,<div><br></div><div>I tried checkpointing the docker container with the latest version of criu and got the following error.</div>


<div><br></div><div><div>./criu dump -t 15814 --images-dir /tmp/docker</div>
<div>Error (mount.c:449): 225:./dev/console doesn&#39;t have a proper root mount</div><div>Error (cr-dump.c:1882): Dumping FAILED.</div></div><div><br></div><div>I saw that there&#39;s been some progress on this lately and was not sure, if this has been fixed yet. Is there a timeframe on when the docker container c/r will be supported?</div>



<div><br></div><div>Let me know.</div><div><br>Thanks,</div><div>Pradeep</div></div>
<br></div></div>_______________________________________________<br>
CRIU mailing list<br>
<a href="mailto:CRIU@openvz.org" target="_blank">CRIU@openvz.org</a><br>
<a href="https://lists.openvz.org/mailman/listinfo/criu" target="_blank">https://lists.openvz.org/mailman/listinfo/criu</a><br>
<br></blockquote></div><br></div>
</blockquote></div></div></div><br></div>
</blockquote></div><br></div>