If you're new to Mesos
See the getting started page for more information about downloading, building, and deploying Mesos.
If you'd like to get involved or you're looking for support
See our community page for more details.
Docker Runtime Isolator in Mesos Containerizer
The Docker Runtime isolator is used for supporting runtime
configurations from the docker image (e.g., Entrypoint/Cmd, Env,
etc.). This isolator is tied with --image_providers=docker
. If
--image_providers
contains docker
, this isolator must be used.
Otherwise, the agent will refuse to start.
To enable the Docker Runtime isolator, append docker/runtime
to the
--isolation
flag when starting the agent.
Currently, docker image default Entrypoint
, Cmd
, Env
, and
WorkingDir
are supported with docker runtime isolator. Users can
specify CommandInfo
to override the default Entrypoint
and Cmd
in the image (see below for details). The CommandInfo
should be
inside of either TaskInfo
or ExecutorInfo
(depending on whether
the task is a command task or uses a custom executor, respectively).
Determine the Launch Command
If the user specifies a command in CommandInfo
, that will override
the default Entrypoint/Cmd in the docker image. Otherwise, we will use
the default Entrypoint/Cmd and append arguments specified in
CommandInfo
accordingly. The details are explained in the following
table.
Users can specify CommandInfo
including shell
, value
and
arguments
, which are represented in the first column of the table
below. 0
represents not specified
, while 1
represents
specified
. The first row is how Entrypoint
and Cmd
defined in
the docker image. All cells in the table, except the first column and
row, as well as cells labeled as Error
, have the first element
(i.e., /Entrypt[0]
) as executable, and the rest as appending
arguments.
Entrypoint=0 Cmd=0 |
Entrypoint=0 Cmd=1 |
Entrypoint=1 Cmd=0 |
Entrypoint=1 Cmd=1 |
|
---|---|---|---|---|
sh=0 value=0 argv=0 |
Error | /Cmd[0] Cmd[1].. |
/Entrypt[0] Entrypt[1].. |
/Entrypt[0] Entrypt[1].. Cmd.. |
sh=0 value=0 argv=1 |
Error | /Cmd[0] argv |
/Entrypt[0] Entrypt[1].. argv |
/Entrypt[0] Entrypt[1].. argv |
sh=0 value=1 argv=0 |
/value | /value | /value | /value |
sh=0 value=1 argv=1 |
/value argv |
/value argv |
/value argv |
/value argv |
sh=1 value=0 argv=0 |
Error | Error | Error | Error |
sh=1 value=0 argv=1 |
Error | Error | Error | Error |
sh=1 value=1 argv=0 |
/bin/sh -c value |
/bin/sh -c value |
/bin/sh -c value |
/bin/sh -c value |
sh=1 value=1 argv=1 |
/bin/sh -c value |
/bin/sh -c value |
/bin/sh -c value |
/bin/sh -c value |