[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