Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
Mesosphere Q4 Sprint 2 - 11/14, Mesosphere Q4 Sprint 3 - 12/7, Mesosphere Q1 Sprint 1 - 1/23, Mesosphere Q1 Sprint 2 - 2/6, Mesosphere Q1 Sprint 3 - 2/20, Mesosphere Q1 Sprint 4 - 3/6, Mesosphere Q1 Sprint 5 - 3/20, Mesosphere Sprint 10
Description
From docker.hpp and docker.cpp:
// Prefix used to name Docker containers in order to distinguish those // created by Mesos from those created manually. extern std::string DOCKER_NAME_PREFIX; // TODO(benh): At some point to run multiple slaves we'll need to make // the Docker container name creation include the slave ID. string DOCKER_NAME_PREFIX = "mesos-";
This name is too generic. A common pattern in docker land is to run everything in a container and use volume mounts to share sockets do RPC between containers. CoreOS has popularized this technique.
Inevitably, what people do is start a container named "mesos-slave" which runs the docker containerizer recovery code which removes all containers that start with "mesos-" And then ask "huh, why did my mesos-slave docker container die? I don't see any error messages..."
Ideally, we should do what Ben suggested and add the slave id to the name prefix.
Attachments
Issue Links
- breaks
-
MESOS-3699 After upgrade version to 0.23.0, then If a task that has been executing from version 0.22.X is killed, the docker container has been orphaned.
- Open