[CRIU] CRIU with Docker

Ross Boucher rboucher at gmail.com
Thu Dec 24 08:02:19 PST 2015


Yes. Docker will download the "image" called busybox (a very simply linux
image), and it will run the command that follows, which will just print a
counter every 3 seconds. You can see the output by running "docker logs
<id>"

On Thu, Dec 24, 2015 at 11:00 AM Thouraya TH <thouraya87 at gmail.com> wrote:

> OK.
> and about this instruction:
>
> busybox:latest /bin/sh -c 'i=0; while true; do echo $i; i=$(expr $i + 1);
> sleep 3; done'
>
> This process will run inside the container  "test-container" ? That's it ?
>
> 2015-12-24 16:57 GMT+01:00 Ross Boucher <rboucher at gmail.com>:
>
>> Yes, it creates a container named "test-container". You can omit the name
>> and just use the id returned in future commands. Docker will use
>> "libcontainer" (now known as runc) by default, which is its own container
>> engine.
>>
>> On Thu, Dec 24, 2015 at 10:54 AM Thouraya TH <thouraya87 at gmail.com>
>> wrote:
>>
>>> Ok, I'm going to test and see.
>>> I have already CRIU installed.
>>>
>>> Please, i have a question about this:
>>>
>>>
>>>  docker-1.9.0-dev run -d --name *test-container* busybox:latest /bin/sh
>>> -c 'i=0; while true; do echo $i; i=$(expr $i + 1); sleep 3; done'
>>>
>>>
>>>
>>> *With this instruction:* i will create a docker container named
>>> test-container ? what is the virtualization technology it uses?
>>>
>>>
>>> *Mr Saied said: Docker can optionally use LXC as its execution driver to
>>> create containers.  However, by default, Docker does not use LXC.**If
>>> you simply google "docker default execution driver", it will give you a
>>> bunch of useful links.  Here's the first one for your easy reference:*
>>>
>>>
>>> *http://blog.docker.com/2014/03/docker-0-9-introducing-execution-drivers-and-libcontainer/
>>> <http://blog.docker.com/2014/03/docker-0-9-introducing-execution-drivers-and-libcontainer/>*
>>>
>>> Thanks a lot for help.
>>>
>>>
>>> 2015-12-24 16:29 GMT+01:00 Ross Boucher <rboucher at gmail.com>:
>>>
>>>> There's not really a guide available at this point. Very roughly,
>>>> here's what you need to do:
>>>>
>>>> Install criu somewhere in your PATH, and install libprotobuf (though I
>>>> don't know exactly where it needs to go)?
>>>>
>>>> In one terminal, start the docker daemon with something like:
>>>> > docker-1.9.0-dev -dD
>>>>
>>>> in another terminal, you can now run a container, e.g.
>>>> > docker-1.9.0-dev run -d --name test-container busybox:latest /bin/sh
>>>> -c 'i=0; while true; do echo $i; i=$(expr $i + 1); sleep 3; done'
>>>>
>>>> now, you can checkpoint and restore:
>>>> >  docker-1.9.0-dev checkpoint test-container
>>>> >  docker-1.9.0-dev restore test-container
>>>>
>>>> (feel free to rename it "docker" instead of docker-1.9.0-dev)
>>>>
>>>>
>>>> On Thu, Dec 24, 2015 at 10:24 AM Thouraya TH <thouraya87 at gmail.com>
>>>> wrote:
>>>>
>>>>> Ok Mr Pavel, thank you so much for answer.
>>>>>
>>>>>
>>>>>  @Ross Boucher: Thank you so much for help.
>>>>>
>>>>>
>>>>> As mentioned on this link, I have to download these files:
>>>>>
>>>>> criu-1.6-patched
>>>>> <https://github.com/boucher/docker/releases/download/v1.9.0-experimental-cr.1/criu-1.6-patched>
>>>>>
>>>>> docker-1.9.0-dev
>>>>> <https://github.com/boucher/docker/releases/download/v1.9.0-experimental-cr.1/docker-1.9.0-dev>
>>>>>
>>>>> libprotobuf-c.so.0
>>>>> <https://github.com/boucher/docker/releases/download/v1.9.0-experimental-cr.1/libprotobuf-c.so.0>
>>>>>
>>>>>
>>>>> Source code (zip)
>>>>> <https://github.com/boucher/docker/archive/v1.9.0-experimental-cr.1.zip>
>>>>>
>>>>> Source code (tar.gz)
>>>>>
>>>>> <https://github.com/boucher/docker/archive/v1.9.0-experimental-cr.1.tar.gz>
>>>>>
>>>>>
>>>>>
>>>>> <https://github.com/boucher/docker/archive/v1.9.0-experimental-cr.1.tar.gz>
>>>>>
>>>>> That’s it ?
>>>>>
>>>>>
>>>>> I worked a lot with CRIU and
>>>>> https://help.ubuntu.com/12.04/serverguide/lxc.html  but I am very
>>>>> beginner with Docker.
>>>>>
>>>>>
>>>>> How can i install this *docker-1.9.0-dev
>>>>> <https://github.com/boucher/docker/releases/download/v1.9.0-experimental-cr.1/docker-1.9.0-dev>*
>>>>> ? Is there any howTo ? In fact, I’d like testing Docker with a simple
>>>>> example and then doing the snapshotting with CRIU.
>>>>>
>>>>>
>>>>> Kind Regards.
>>>>>
>>>>>
>>>>>
>>>>> 2015-12-24 15:58 GMT+01:00 Ross Boucher <rboucher at gmail.com>:
>>>>>
>>>>>> Yes, all the info is in that thread. You can try these pre-built
>>>>>> binaries if you like:
>>>>>>
>>>>>> https://github.com/boucher/docker/releases/tag/v1.9.0-experimental-cr.1
>>>>>>
>>>>>>
>>>>>> On Thu, Dec 24, 2015 at 9:36 AM Pavel Emelyanov <xemul at parallels.com>
>>>>>> wrote:
>>>>>>
>>>>>>> On 12/24/2015 05:27 PM, Thouraya TH wrote:
>>>>>>> > Hi all,
>>>>>>> >
>>>>>>> >
>>>>>>> > As Iknow, there is a work on using CRIU with Docker. I want to
>>>>>>> know, please, the progress
>>>>>>> > if it is possible (Online publications? Etc..).
>>>>>>>
>>>>>>> Everything about it happens here:
>>>>>>> https://github.com/docker/docker/pull/13602 and you're
>>>>>>> welcome to join :)
>>>>>>>
>>>>>>> > I'd like to test criu with Docker. Can i do that ? Is there any
>>>>>>> tutorial ?
>>>>>>>
>>>>>>> Please, say hello to Ross and Hui (I added them in Cc). They're one
>>>>>>> of main guys in this area :)
>>>>>>>
>>>>>>> -- Pavel
>>>>>>>
>>>>>>>
>>>>>
>>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvz.org/pipermail/criu/attachments/20151224/af3cdb8f/attachment.html>


More information about the CRIU mailing list