[CRIU] criu with nginx in docker success

Ross Boucher rboucher at gmail.com
Fri Jul 3 08:06:10 PDT 2015


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.

On Fri, Jul 3, 2015 at 12:26 AM, Adrian Reber <adrian at lisas.de> wrote:

> I just wanted to let you know, that with additional kernel backports I
> was able to checkpoint and restore a simple docker application.
>
> In addition I was also able to checkpoint and restore nginx running in
> docker. After applying the patch series from Andrey Vagin
>
> [CRIU] [PATCH 1/5] pipe: don't create a tranport descriptor for inhereted
> pipes
>
> nginx in docker could be checkpointed and restored:
>
> # /share/docker/bundles/1.8.0-dev/dynbinary/docker run -d -p 80:80 nginx
> ffbd5b4c1b34a03e605de390efc9a44d1723aa12b3a5d1ce22981c148e639d04
>
> # curl -I localhost
> HTTP/1.1 200 OK
> Server: nginx/1.9.2
> Date: Fri, 03 Jul 2015 07:10:34 GMT
> Content-Type: text/html
> Content-Length: 612
> Last-Modified: Tue, 16 Jun 2015 16:00:26 GMT
> Connection: keep-alive
> ETag: "5580481a-264"
> Accept-Ranges: bytes
>
> # ps aux | grep [n]ginx
> root     22033  0.0  0.2  31488  2924 ?        Ss   07:10   0:00 nginx:
> master process nginx -g daemon off;
> 104      22042  0.0  0.1  31864  1924 ?        S    07:10   0:00 nginx:
> worker process
>
> # /share/docker/bundles/1.8.0-dev/dynbinary/docker checkpoint
> ffbd5b4c1b34a03e605de390efc9a44d1723aa12b3a5d1ce22981c148e639d04
> ffbd5b4c1b34a03e605de390efc9a44d1723aa12b3a5d1ce22981c148e639d04
>
> # ps aux | grep [n]ginx
> # /share/docker/bundles/1.8.0-dev/dynbinary/docker restore
> --work-dir=/tmp/
> ffbd5b4c1b34a03e605de390efc9a44d1723aa12b3a5d1ce22981c148e639d04
> ffbd5b4c1b34a03e605de390efc9a44d1723aa12b3a5d1ce22981c148e639d04
> # ps aux | grep [n]ginx
> root     22151  0.0  0.0  31488   804 ?        Ss   07:11   0:00 nginx:
> master process nginx -g daemon off;
> 104      22163  0.0  0.1  31864  1220 ?        S    07:11   0:00 nginx:
> worker process
> # curl -I localhost
> curl: (56) Recv failure: Connection reset by peer
> # /share/docker/bundles/1.8.0-dev/dynbinary/docker ps
> CONTAINER ID        IMAGE               COMMAND                CREATED
>          STATUS              PORTS                         NAMES
> ffbd5b4c1b34        nginx               "nginx -g 'daemon of   7 minutes
> ago       Up 6 minutes        0.0.0.0:80->80/tcp, 443/tcp   adoring_bose
>
> So nginx is still running but the port forwarding is no longer working.
> This sounds like something to fix inside of docker. I see a process called
> docker-proxy which redirects the port 80 to another IP address then the one
> nginx was checkpointed with. So docker needs to know to restore the
> container
> with the same IP it was checkointed with. But this looks really good so
> far.
>
>                 Adrian
> _______________________________________________
> CRIU mailing list
> CRIU at openvz.org
> https://lists.openvz.org/mailman/listinfo/criu
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvz.org/pipermail/criu/attachments/20150703/4a71cdaf/attachment-0001.html>


More information about the CRIU mailing list