You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by Olivier Sallou <ol...@irisa.fr> on 2014/10/21 11:58:12 UTC

use of docker containerizer

Hi,
I try to use the default docker containizer but I can't get it work... :-(

My Task is correctly executed when using default executor with CommandInfo.

If I add a ContainerInfo it fails.


I launch my slave with options: –-containerizers=docker,mesos
(this is a source install, not system wide installed)

I see in slave logs:

E1021 11:50:26.392259 12748 slave.cpp:2656] Container
'4460417c-1f78-4d99-ab07-8524c73ab35c' for executor '0' of framework
'20141021-113729-16777343-5050-12670-0003' failed to start: None of the
enabled containerizers (mesos) could create a container for the provided
TaskInfo/ExecutorInfo message.

and Tasks ends in FAILED state.

My Task looks like:

...
command {
  value: "ls"
  shell: false
  arguments: "-l"
  arguments: "/etc"
}
container {
  type: DOCKER
  docker {
    image: "docker:///dockerimages/centos-core"
  }
}


It acts as if the docker option on slave is not taken into account.

I found on Internet that a file need to be created:

    echo 'docker,mesos' > /etc/mesos-slave/containerizers

to activate the flag, but I do not know where this file should be
created when mesos is not system-wide installed.

Thanks

Olivier

-- 


gpg key id: 4096R/326D8438  (keyring.debian.org)
Key fingerprint = 5FB4 6F83 D3B9 5204 6335  D26D 78DC 68DB 326D 8438


Re: use of docker containerizer

Posted by Adam Bordelon <ad...@mesosphere.io>.
Hmm, you're right that it should include "docker" in the "enabled
containerizers (mesos)" log message.
Maybe you could try setting the MESOS_CONTAINERIZERS environment variable
instead, or wrap "docker,mesos" in quotes?

On Wed, Oct 22, 2014 at 2:33 AM, Olivier Sallou <ol...@irisa.fr>
wrote:

>
> On 10/22/2014 11:02 AM, Adam Bordelon wrote:
> > Olivier,
> >
> > You should only need to create the /etc/mesos-slave/containerizers OR
> > specify --containerizers on the mesos-slave command-line. Either should
> > work.
> > - Is dockerd installed and running on the slave?
> yes docker is running on slave
> > - You could be running into MESOS-1873
> > <https://issues.apache.org/jira/browse/MESOS-1873>. Try setting your
> value:
> > "ls -l /etc" instead of using the arguments fields with shell: false
> I tried too, my Task contains:
>
> command {
>   shell: true
>   arguments: "ls"
>   arguments: "-l"
>   arguments: "/etc"
> }
> container {
>   type: DOCKER
>   docker {
>     image: "dockerimages/centos-core"
>   }
> }
>
> but I have the same error:
>
> Container '3f98b4ee-3417-407f-8717-b60a1ab6f359' for executor '0' of
> framework '20141022-112627-16777343-5050-6219-0000' failed to start:
> None of the enabled containerizers (mesos) could create a container for
> the provided TaskInfo/ExecutorInfo message.
>
> I find strange to find "enabled containerizers (mesos)" instead of
> something like "enabled containerizers (docker,mesos)"
> >
> > On Tue, Oct 21, 2014 at 2:58 AM, Olivier Sallou <olivier.sallou@irisa.fr
> >
> > wrote:
> >
> >> Hi,
> >> I try to use the default docker containizer but I can't get it work...
> :-(
> >>
> >> My Task is correctly executed when using default executor with
> CommandInfo.
> >>
> >> If I add a ContainerInfo it fails.
> >>
> >>
> >> I launch my slave with options: –-containerizers=docker,mesos
> >> (this is a source install, not system wide installed)
> >>
> >> I see in slave logs:
> >>
> >> E1021 11:50:26.392259 12748 slave.cpp:2656] Container
> >> '4460417c-1f78-4d99-ab07-8524c73ab35c' for executor '0' of framework
> >> '20141021-113729-16777343-5050-12670-0003' failed to start: None of the
> >> enabled containerizers (mesos) could create a container for the provided
> >> TaskInfo/ExecutorInfo message.
> >>
> >> and Tasks ends in FAILED state.
> >>
> >> My Task looks like:
> >>
> >> ...
> >> command {
> >>   value: "ls"
> >>   shell: false
> >>   arguments: "-l"
> >>   arguments: "/etc"
> >> }
> >> container {
> >>   type: DOCKER
> >>   docker {
> >>     image: "docker:///dockerimages/centos-core"
> >>   }
> >> }
> >>
> >>
> >> It acts as if the docker option on slave is not taken into account.
> >>
> >> I found on Internet that a file need to be created:
> >>
> >>     echo 'docker,mesos' > /etc/mesos-slave/containerizers
> >>
> >> to activate the flag, but I do not know where this file should be
> >> created when mesos is not system-wide installed.
> >>
> >> Thanks
> >>
> >> Olivier
> >>
> >> --
> >>
> >>
> >> gpg key id: 4096R/326D8438  (keyring.debian.org)
> >> Key fingerprint = 5FB4 6F83 D3B9 5204 6335  D26D 78DC 68DB 326D 8438
> >>
> >>
>
> --
> Olivier Sallou
> IRISA / University of Rennes 1
> Campus de Beaulieu, 35000 RENNES - FRANCE
> Tel: 02.99.84.71.95
>
> gpg key id: 4096R/326D8438  (keyring.debian.org)
> Key fingerprint = 5FB4 6F83 D3B9 5204 6335  D26D 78DC 68DB 326D 8438
>
>
>

Re: use of docker containerizer

Posted by Olivier Sallou <ol...@irisa.fr>.
On 10/22/2014 11:02 AM, Adam Bordelon wrote:
> Olivier,
>
> You should only need to create the /etc/mesos-slave/containerizers OR
> specify --containerizers on the mesos-slave command-line. Either should
> work.
> - Is dockerd installed and running on the slave?
yes docker is running on slave
> - You could be running into MESOS-1873
> <https://issues.apache.org/jira/browse/MESOS-1873>. Try setting your value:
> "ls -l /etc" instead of using the arguments fields with shell: false
I tried too, my Task contains:

command {
  shell: true
  arguments: "ls"
  arguments: "-l"
  arguments: "/etc"
}
container {
  type: DOCKER
  docker {
    image: "dockerimages/centos-core"
  }
}

but I have the same error:

Container '3f98b4ee-3417-407f-8717-b60a1ab6f359' for executor '0' of
framework '20141022-112627-16777343-5050-6219-0000' failed to start:
None of the enabled containerizers (mesos) could create a container for
the provided TaskInfo/ExecutorInfo message.

I find strange to find "enabled containerizers (mesos)" instead of
something like "enabled containerizers (docker,mesos)"
>
> On Tue, Oct 21, 2014 at 2:58 AM, Olivier Sallou <ol...@irisa.fr>
> wrote:
>
>> Hi,
>> I try to use the default docker containizer but I can't get it work... :-(
>>
>> My Task is correctly executed when using default executor with CommandInfo.
>>
>> If I add a ContainerInfo it fails.
>>
>>
>> I launch my slave with options: –-containerizers=docker,mesos
>> (this is a source install, not system wide installed)
>>
>> I see in slave logs:
>>
>> E1021 11:50:26.392259 12748 slave.cpp:2656] Container
>> '4460417c-1f78-4d99-ab07-8524c73ab35c' for executor '0' of framework
>> '20141021-113729-16777343-5050-12670-0003' failed to start: None of the
>> enabled containerizers (mesos) could create a container for the provided
>> TaskInfo/ExecutorInfo message.
>>
>> and Tasks ends in FAILED state.
>>
>> My Task looks like:
>>
>> ...
>> command {
>>   value: "ls"
>>   shell: false
>>   arguments: "-l"
>>   arguments: "/etc"
>> }
>> container {
>>   type: DOCKER
>>   docker {
>>     image: "docker:///dockerimages/centos-core"
>>   }
>> }
>>
>>
>> It acts as if the docker option on slave is not taken into account.
>>
>> I found on Internet that a file need to be created:
>>
>>     echo 'docker,mesos' > /etc/mesos-slave/containerizers
>>
>> to activate the flag, but I do not know where this file should be
>> created when mesos is not system-wide installed.
>>
>> Thanks
>>
>> Olivier
>>
>> --
>>
>>
>> gpg key id: 4096R/326D8438  (keyring.debian.org)
>> Key fingerprint = 5FB4 6F83 D3B9 5204 6335  D26D 78DC 68DB 326D 8438
>>
>>

-- 
Olivier Sallou
IRISA / University of Rennes 1
Campus de Beaulieu, 35000 RENNES - FRANCE
Tel: 02.99.84.71.95

gpg key id: 4096R/326D8438  (keyring.debian.org)
Key fingerprint = 5FB4 6F83 D3B9 5204 6335  D26D 78DC 68DB 326D 8438



Re: use of docker containerizer

Posted by Adam Bordelon <ad...@mesosphere.io>.
Olivier,

You should only need to create the /etc/mesos-slave/containerizers OR
specify --containerizers on the mesos-slave command-line. Either should
work.
- Is dockerd installed and running on the slave?
- You could be running into MESOS-1873
<https://issues.apache.org/jira/browse/MESOS-1873>. Try setting your value:
"ls -l /etc" instead of using the arguments fields with shell: false

On Tue, Oct 21, 2014 at 2:58 AM, Olivier Sallou <ol...@irisa.fr>
wrote:

> Hi,
> I try to use the default docker containizer but I can't get it work... :-(
>
> My Task is correctly executed when using default executor with CommandInfo.
>
> If I add a ContainerInfo it fails.
>
>
> I launch my slave with options: –-containerizers=docker,mesos
> (this is a source install, not system wide installed)
>
> I see in slave logs:
>
> E1021 11:50:26.392259 12748 slave.cpp:2656] Container
> '4460417c-1f78-4d99-ab07-8524c73ab35c' for executor '0' of framework
> '20141021-113729-16777343-5050-12670-0003' failed to start: None of the
> enabled containerizers (mesos) could create a container for the provided
> TaskInfo/ExecutorInfo message.
>
> and Tasks ends in FAILED state.
>
> My Task looks like:
>
> ...
> command {
>   value: "ls"
>   shell: false
>   arguments: "-l"
>   arguments: "/etc"
> }
> container {
>   type: DOCKER
>   docker {
>     image: "docker:///dockerimages/centos-core"
>   }
> }
>
>
> It acts as if the docker option on slave is not taken into account.
>
> I found on Internet that a file need to be created:
>
>     echo 'docker,mesos' > /etc/mesos-slave/containerizers
>
> to activate the flag, but I do not know where this file should be
> created when mesos is not system-wide installed.
>
> Thanks
>
> Olivier
>
> --
>
>
> gpg key id: 4096R/326D8438  (keyring.debian.org)
> Key fingerprint = 5FB4 6F83 D3B9 5204 6335  D26D 78DC 68DB 326D 8438
>
>