You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by qi...@apache.org on 2017/08/03 07:49:44 UTC
[5/9] mesos git commit: Set container DNS with
`--default_container_dns` in DockerContainerizer.
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 <zh...@gmail.com>
Authored: Mon Jul 24 14:38:22 2017 +0800
Committer: Qian Zhang <zh...@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()) {