Actually we don't really have any option for user specified name, so in our
code we simply have mesos-<container-id> as the whole container name.

I think the only problem is what Grzegorz had where he tried to prepend
mesos-* as well in his own containers.

I think what I'll do is to update the docker-containerization documentation
to specifiy that Mesos treats all containers with mesos- prefix as managed
by Mesos itself.

Tim

On Wed, Sep 24, 2014 at 9:33 AM, Tim Chen <[email protected]> wrote:

> Hi Grzegorz,
>
> Yes we assumed every container with mesos-* prefix was launched by us.
>
> James that sounds like a good idea, I'll create a ticket for it. Thanks
> for the suggestion!
>
> Tim
>
>
> On Wed, Sep 24, 2014 at 4:33 AM, James DeFelice <[email protected]>
> wrote:
>
>> Kubernetes prefixes all of its Docker containers with "k8s--".
>> User-specified container names are also escaped so that it's possible to
>> decode the Docker container name back into its constituent parts:
>>
>>
>> https://github.com/GoogleCloudPlatform/kubernetes/blob/88fdb659bc44cf2d1895c03f8838d36f4d890796/pkg/kubelet/dockertools/docker.go#L275
>>
>> https://github.com/GoogleCloudPlatform/kubernetes/blob/88fdb659bc44cf2d1895c03f8838d36f4d890796/pkg/kubelet/dockertools/docker.go#L297
>>
>> Might it make sense to take a similar approach with naming for
>> mesos-managed Docker containers?
>>
>> -James
>>
>>
>> On Wed, Sep 24, 2014 at 3:53 AM, Grzegorz Graczyk <[email protected]>
>> wrote:
>>
>>> I did enable verbose logging and it turns out mesos is prepending names
>>> of it's docker containers with "mesos-". My mesos slave container also had
>>> this prefix ("mesos-slave"), so when docker containerizer inside mesos
>>> slave was starting it checks which containers managed by mesos should be
>>> started. Of course mesos-slave wasn't managed by mesos, so docker
>>> containerizer decided to kill that container, terminating itself.
>>> When I change container name everything seems to be working just fine.
>>>
>>> That's the command I'm running mesos slave right now:
>>> docker run -d --name slave --privileged --net=host -v
>>> /var/run/docker.sock:/var/run/docker.sock -v
>>> /usr/local/bin/docker:/usr/local/bin/docker -v
>>> /sys/fs/cgroup:/sys/fs/cgroup gregory90/mesos-slave
>>> --containerizers=docker,mesos --master=zk://localhost:2181/mesos
>>> --ip=127.0.0.1
>>>
>>> Thanks for your help, really appreciate it!
>>>
>>> On 23 September 2014 18:35, Tim Chen <[email protected]> wrote:
>>>
>>>> Hi Grzegorz,
>>>>
>>>> The log snippet you've pasted seems quite normal, can you enable
>>>> verbose logging (add GLOG_v=1 before mesos-slave) and share it?
>>>>
>>>> Thanks,
>>>>
>>>> Tim
>>>>
>>>> On Tue, Sep 23, 2014 at 3:10 AM, Grzegorz Graczyk <[email protected]>
>>>> wrote:
>>>>
>>>>> Thanks for your response!
>>>>>
>>>>> Mounting /sys did the job, cgroups are working, but now mesos-slave is
>>>>> just crushing after detecting new master or so (there's nothing useful in
>>>>> the logs - is there a way to make them more verbose?)
>>>>>
>>>>> Last lines of logs from mesos-slave:
>>>>> I0923 10:03:24.079859    10 detector.cpp:426] A new leading master
>>>>> ([email protected]:5050) is detected
>>>>> I0923 10:03:26.076053     9 slave.cpp:3195] Finished recovery
>>>>> I0923 10:03:26.076505     9 slave.cpp:589] New master detected at
>>>>> [email protected]:5050
>>>>> I0923 10:03:26.076732     9 slave.cpp:625] No credentials provided.
>>>>> Attempting to register without authentication
>>>>> I0923 10:03:26.076812     9 slave.cpp:636] Detecting new master
>>>>> I0923 10:03:26.076864     9 status_update_manager.cpp:167] New master
>>>>> detected at [email protected]:5050
>>>>>
>>>>> There's no problem in running mesos-master in the container(at least
>>>>> there wasn't any in my case, for now)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On 23 September 2014 09:41, Tim Chen <[email protected]> wrote:
>>>>>
>>>>>> Hi Grzegorz,
>>>>>>
>>>>>> To run Mesos master|slave in a docker container is not straight
>>>>>> forward because we utilize kernel features therefore you need to 
>>>>>> explicitly
>>>>>> test out the features you like to use with Mesos with slave/master in
>>>>>> Docker.
>>>>>>
>>>>>> Gabriel during the Mesosphere hackathon has got master and slave
>>>>>> running in docker containers, and he can probably share his Dockerfile 
>>>>>> and
>>>>>> run command.
>>>>>>
>>>>>> I believe one work around to get cgroups working with Docker run is
>>>>>> to mount /sys into the container (mount -v /sys:/sys).
>>>>>>
>>>>>> Gabriel do you still have the command you used to run slave/master
>>>>>> with Docker?
>>>>>>
>>>>>> Tim
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, Sep 23, 2014 at 12:24 AM, Grzegorz Graczyk <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> I'm trying to run mesos-slave inside Docker container, but it can't
>>>>>>> start due to problem with mounting cgroups.
>>>>>>>
>>>>>>> I'm using:
>>>>>>> Kernel Version: 3.13.0-32-generic
>>>>>>> Operating System: Ubuntu 14.04.1 LTS
>>>>>>> Docker: 1.2.0(commit fa7b24f)
>>>>>>> Mesos: 0.20.0
>>>>>>>
>>>>>>> Following error appears:
>>>>>>> I0923 07:11:20.921475    19 main.cpp:126] Build: 2014-08-22 05:04:26
>>>>>>> by root
>>>>>>> I0923 07:11:20.921608    19 main.cpp:128] Version: 0.20.0
>>>>>>> I0923 07:11:20.921620    19 main.cpp:131] Git tag: 0.20.0
>>>>>>> I0923 07:11:20.921628    19 main.cpp:135] Git SHA:
>>>>>>> f421ffdf8d32a8834b3a6ee483b5b59f65956497
>>>>>>> Failed to create a containerizer: Could not create
>>>>>>> DockerContainerizer: Failed to find a mounted cgroups hierarchy for the
>>>>>>> 'cpu' subsystem; you probably need to mount cgroups manually!
>>>>>>>
>>>>>>> I'm running docker container with command:
>>>>>>> docker run --name mesos-slave --privileged --net=host -v
>>>>>>> /var/run/docker.sock:/var/run/docker.sock -v
>>>>>>> /var/lib/docker:/var/lib/docker -v
>>>>>>> /usr/local/bin/docker:/usr/local/bin/docker gregory90/mesos-slave
>>>>>>> --containerizers=docker,mesos --master=zk://localhost:2181/mesos
>>>>>>> --ip=127.0.0.1
>>>>>>>
>>>>>>> Everything is running on single machine.
>>>>>>> Everything works as expected when mesos-slave is run outside docker
>>>>>>> container.
>>>>>>>
>>>>>>> I'd appreciate some help.
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>>
>> --
>> James DeFelice
>> 585.241.9488 (voice)
>> 650.649.6071 (fax)
>>
>
>

Reply via email to