[
https://issues.apache.org/jira/browse/MESOS-5544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15323818#comment-15323818
]
Jie Yu edited comment on MESOS-5544 at 6/10/16 4:45 AM:
--------------------------------------------------------
Worked on a prototype here:
https://github.com/jieyu/mesos/tree/agent_in_docker
Tested with the following docker container and run command. The agent recovery
works well!
{noformat}
sudo docker run \
--net=host \
--pid=host \
--privileged \
-e GLOG_v=1 \
-e LIBPROCESS_IP=10.0.2.15 \
-e MESOS_MASTER=10.0.2.15:5050 \
-e MESOS_HOSTNAME=localhost \
-e MESOS_WORK_DIR=/var/lib/mesos \
-e MESOS_DOCKER_STORE_DIR=/var/lib/mesos/store \
-e MESOS_ISOLATION=cgroups/cpu,cgroups/mem,docker/runtime,filesystem/linux \
-e MESOS_IMAGE_PROVIDERS=docker \
-e MESOS_SYSTEMD_ENABLE_SUPPORT=false \
-v /var/run/mesos:/var/run/mesos:shared \
-v /var/lib/mesos:/var/lib/mesos:shared \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /cgroup:/cgroup \
-v /sys:/sys \
-v /usr/local/bin/docker:/usr/local/bin/docker \
jieyu/mesos-from-source mesos-slave
{noformat}
was (Author: jieyu):
Worked on a prototype here:
https://github.com/jieyu/mesos/tree/agent_in_docker
Will update with a docker image soon
> Support running Mesos agent in a Docker container.
> --------------------------------------------------
>
> Key: MESOS-5544
> URL: https://issues.apache.org/jira/browse/MESOS-5544
> Project: Mesos
> Issue Type: Improvement
> Reporter: Jie Yu
>
> Currently, this does not work if one tries to use Mesos containerizer.
> The main problem is that we want to make sure the executor is not killed when
> agent crashes. So we have to use --pid=host so that the agent is in the host
> pid namespace.
> But that is not sufficient, Docker daemon will put agent into all cgroups
> available on the host. We need to make sure we migrate the executor pid out
> of those cgroups so that when agent crashes, executors are not killed.
> Also, when start the agent container, volumes need to be setup properly so
> that any mounts under agent's work_dir will be propagate back to the host
> mount table. This is to make sure we can recover those mounts after agent
> restarts. This is also true for those mounts that are needed by some isolator
> (e.g., network/cni isolator).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)