<div dir="ltr">Networking is essentially not implemented right now in my docker branch. Internally they completely rewrote their network stack and we are still trying to figure out the best way to make it work again.</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 3, 2015 at 12:26 AM, Adrian Reber <span dir="ltr">&lt;<a href="mailto:adrian@lisas.de" target="_blank">adrian@lisas.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I just wanted to let you know, that with additional kernel backports I<br>
was able to checkpoint and restore a simple docker application.<br>
<br>
In addition I was also able to checkpoint and restore nginx running in<br>
docker. After applying the patch series from Andrey Vagin<br>
<br>
[CRIU] [PATCH 1/5] pipe: don&#39;t create a tranport descriptor for inhereted pipes<br>
<br>
nginx in docker could be checkpointed and restored:<br>
<br>
# /share/docker/bundles/1.8.0-dev/dynbinary/docker run -d -p 80:80 nginx<br>
ffbd5b4c1b34a03e605de390efc9a44d1723aa12b3a5d1ce22981c148e639d04<br>
<br>
# curl -I localhost<br>
HTTP/1.1 200 OK<br>
Server: nginx/1.9.2<br>
Date: Fri, 03 Jul 2015 07:10:34 GMT<br>
Content-Type: text/html<br>
Content-Length: 612<br>
Last-Modified: Tue, 16 Jun 2015 16:00:26 GMT<br>
Connection: keep-alive<br>
ETag: &quot;5580481a-264&quot;<br>
Accept-Ranges: bytes<br>
<br>
# ps aux | grep [n]ginx<br>
root     22033  0.0  0.2  31488  2924 ?        Ss   07:10   0:00 nginx: master process nginx -g daemon off;<br>
104      22042  0.0  0.1  31864  1924 ?        S    07:10   0:00 nginx: worker process<br>
<br>
# /share/docker/bundles/1.8.0-dev/dynbinary/docker checkpoint  ffbd5b4c1b34a03e605de390efc9a44d1723aa12b3a5d1ce22981c148e639d04<br>
ffbd5b4c1b34a03e605de390efc9a44d1723aa12b3a5d1ce22981c148e639d04<br>
<br>
# ps aux | grep [n]ginx<br>
# /share/docker/bundles/1.8.0-dev/dynbinary/docker restore --work-dir=/tmp/ ffbd5b4c1b34a03e605de390efc9a44d1723aa12b3a5d1ce22981c148e639d04<br>
ffbd5b4c1b34a03e605de390efc9a44d1723aa12b3a5d1ce22981c148e639d04<br>
# ps aux | grep [n]ginx<br>
root     22151  0.0  0.0  31488   804 ?        Ss   07:11   0:00 nginx: master process nginx -g daemon off;<br>
104      22163  0.0  0.1  31864  1220 ?        S    07:11   0:00 nginx: worker process<br>
# curl -I localhost<br>
curl: (56) Recv failure: Connection reset by peer<br>
# /share/docker/bundles/1.8.0-dev/dynbinary/docker ps<br>
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS                         NAMES<br>
ffbd5b4c1b34        nginx               &quot;nginx -g &#39;daemon of   7 minutes ago       Up 6 minutes        0.0.0.0:80-&gt;80/tcp, 443/tcp   adoring_bose<br>
<br>
So nginx is still running but the port forwarding is no longer working.<br>
This sounds like something to fix inside of docker. I see a process called<br>
docker-proxy which redirects the port 80 to another IP address then the one<br>
nginx was checkpointed with. So docker needs to know to restore the container<br>
with the same IP it was checkointed with. But this looks really good so far.<br>
<br>
                Adrian<br>
_______________________________________________<br>
CRIU mailing list<br>
<a href="mailto:CRIU@openvz.org">CRIU@openvz.org</a><br>
<a href="https://lists.openvz.org/mailman/listinfo/criu" rel="noreferrer" target="_blank">https://lists.openvz.org/mailman/listinfo/criu</a><br>
</blockquote></div><br></div>