Alex & Tim, Thank you both; most helpful.
Alex, can you dispel my confusion on this point: I keep reading that a "framework" in Mesos (e.g., Marathon) consists of a scheduler and an executor. This reference to "executor" made me think that Marathon must have *some* kind of presence on the slave node. But the more familiar I become with Mesos the less likely this seems to me. So, what does it mean to talk about the Marathon framework "executor"? Tim, I did come up with a simple work-around that involves re-copying the needed file into the container each time the application is started. For reasons unknown, this file is not kept in a location that would readily lend itself to my use of persistent storage (Docker -v). That said, I am keenly interested in learning how to write both custom executors & schedulers. Any sense for what release of Mesos will see "persistent volumes"? Thanks again, gents. -Paul On Fri, Aug 28, 2015 at 2:26 PM, Tim Chen <t...@mesosphere.io> wrote: > Hi Paul, > > We don't [re]start a container since we assume once the task terminated > the container is no longer reused. In Mesos to allow tasks to reuse the > same executor and handle task logic accordingly people will opt to choose > the custom executor route. > > We're working on a way to keep your sandbox data beyond a container > lifecycle, which is called persistent volumes. We haven't integrated that > with Docker containerizer yet, so you'll have to wait to use that feature. > > You could also choose to implement a custom executor for now if you like. > > Tim > > On Fri, Aug 28, 2015 at 10:43 AM, Alex Rukletsov <a...@mesosphere.com> > wrote: > >> Paul, >> >> that component is called DockerContainerizer and it's part of Mesos Agent >> (check "/Users/alex/Projects/mesos/src/slave/containerizer/docker.hpp"). >> @Tim, could you answer the "docker start" vs. "docker run" question? >> >> On Fri, Aug 28, 2015 at 1:26 PM, Paul Bell <arach...@gmail.com> wrote: >> >>> Hi All, >>> >>> I first posted this to the Marathon list, but someone suggested I try it >>> here. >>> >>> I'm still not sure what component (mesos-master, mesos-slave, marathon) >>> generates the "docker run" command that launches containers on a slave >>> node. I suppose that it's the framework executor (Marathon) on the slave >>> that actually executes the "docker run", but I'm not sure. >>> >>> What I'm really after is whether or not we can cause the use of "docker >>> start" rather than "docker run". >>> >>> At issue here is some persistent data inside >>> /var/lib/docker/aufs/mnt/<CTR_ID>. "docker run" will by design (re)launch >>> my application with a different CTR_ID effectively rendering that data >>> inaccessible. But "docker start" will restart the container and its "old" >>> data will still be there. >>> >>> Thanks. >>> >>> -Paul >>> >> >> >