mesos-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jay Buffington (JIRA)" <>
Subject [jira] [Commented] (MESOS-1659) docker containerizer should not require executor be part of image
Date Sun, 03 Aug 2014 15:38:12 GMT


Jay Buffington commented on MESOS-1659:

[~tnachen] +1 on tabling this for now.  As you pointed out, what I need can be accomplished
in the scheduler by mounting the libs via the volume field of DockerInfo and then setting
CommandInfo of the ExecutorInfo to set LD_LIBRARY_PATH to the mounted libs dir.  It's a bit
of an abstraction violation, but I can live with that.  

If most schedulers with executors start to do this, we should centralize it in mesos-slave.

> docker containerizer should not require executor be part of image
> -----------------------------------------------------------------
>                 Key: MESOS-1659
>                 URL:
>             Project: Mesos
>          Issue Type: Improvement
>            Reporter: Jay Buffington
> I would like the ability to run an executor inside of an off-the-shelf docker container.
> We already have a process for getting an executor into the sandbox.  I've spoken with
[~tnachen] about this and we agreed that the containerize should bind mount (via the docker
volumes feature) the sandbox into the container and run the executor.
> The problem with this is the majority of executors have a dependency on libmesos and
libmesos usually doesn't exist in off the shelf containers.
> I propose the docker containerize also bind mount libmesos and it's dependencies (like
libunwind) into the container and use LD_LIBRARY_PATH so the executor can find them.
> You could make an argument that executors should be statically compiled self contained
binaries, but that is difficult with executors written in python or java.  We can use pex
or jar to package up language dependencies, but native deps like libmesos are tricky.  Having
the docker containerize guarantee that libmesos is there really simplifies things.

This message was sent by Atlassian JIRA

View raw message