Mesos Slave with Docker-in-Docker
Mesos Slave Docker-in-Docker (dind)
Mesos-Slave that runs in a Ubuntu-based Docker container.
Launches tasks using the included Docker Engine, rather than the host's Docker Engine.
- Runs Mesos tasks inside the container (instead of in the parent Docker env).
- Mesos tasks (in docker containers) are stopped when the mesos-slave-dind container is stopped.
- Supports OverlayFS (new hotness) and AUFS (legacy)
- Allocates disk space (via loop mount) to allow mounting AUFS on AUFS
- Allocates IP space on the parent Docker's network, making docker-in-docker containers IP accessible from the host.
Required Docker Parameters
--privileged=true- Provides access to cgroups
Recommended Environment Variables
- MESOS_CONTAINERIZERS - Include docker to enable running tasks as docker containers. Ex:
- MESOS_RESOURCES - Specify resources to avoid oversubscribing via auto-detecting host resources. Ex:
- DOCKER_NETWORK_OFFSET - Specify an IP offset to give each mesos-slave-dind container (default:
- DOCKER_NETWORK_SIZE - Specify a CIDR range to apply to the above offset (default=
- VAR_LIB_DOCKER_SIZE - Specify the max size (in GB) of the loop device to be mounted at /var/lib/docker (default=
5). This is only used if OverlayFS is not supported by the kernel or the parent docker is configured to use AUFS.
Docker Pull Command