Set container DNS with `--default_container_dns` in DockerContainerizer. Review: https://reviews.apache.org/r/61075
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/cf841cdd Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/cf841cdd Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/cf841cdd Branch: refs/heads/master Commit: cf841cdd482d78e2872f04539cf82d151dffd689 Parents: 3da83b3 Author: Qian Zhang <zhq527...@gmail.com> Authored: Mon Jul 24 14:38:22 2017 +0800 Committer: Qian Zhang <zhq527...@gmail.com> Committed: Thu Aug 3 13:53:26 2017 +0800 ---------------------------------------------------------------------- src/slave/containerizer/docker.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/cf841cdd/src/slave/containerizer/docker.cpp ---------------------------------------------------------------------- diff --git a/src/slave/containerizer/docker.cpp b/src/slave/containerizer/docker.cpp index fee1e10..b84c392 100644 --- a/src/slave/containerizer/docker.cpp +++ b/src/slave/containerizer/docker.cpp @@ -1330,6 +1330,13 @@ Future<Docker::Container> DockerContainerizerProcess::launchExecutorContainer( self(), [=](const ContainerIO& containerIO) -> Future<Docker::Container> { + // We need to pass `flags.default_container_dns` only when the agent is not + // running in a Docker container. This is to handle the case of launching a + // custom executor in a Docker container. If the agent is running in a + // Docker container (i.e., flags.docker_mesos_image.isSome() == true), that + // is the case of launching `mesos-docker-executor` in a Docker container + // with the Docker image `flags.docker_mesos_image`. In that case we already + // set `flags.default_container_dns` in the method `dockerFlags()`. Try<Docker::RunOptions> runOptions = Docker::RunOptions::create( container->container, container->command, @@ -1343,7 +1350,8 @@ Future<Docker::Container> DockerContainerizerProcess::launchExecutorContainer( false, #endif container->environment, - None() // No extra devices. + None(), // No extra devices. + flags.docker_mesos_image.isNone() ? flags.default_container_dns : None() ); if (runOptions.isError()) {