diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/runtime/DockerLinuxContainerRuntime.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/runtime/DockerLinuxContainerRuntime.java index 1872830533f..591a351451f 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/runtime/DockerLinuxContainerRuntime.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/runtime/DockerLinuxContainerRuntime.java @@ -823,10 +823,9 @@ public void launchContainer(ContainerRuntimeContext ctx) DockerRunCommand runCommand = new DockerRunCommand(containerIdStr, dockerRunAsUser, imageName) .setNetworkType(network); - // Only add hostname if network is not host or if Registry DNS is enabled. - if (!network.equalsIgnoreCase("host") || - conf.getBoolean(RegistryConstants.KEY_DNS_ENABLED, - RegistryConstants.DEFAULT_DNS_ENABLED)) { + // Only add hostname if network is not host or if hostname is + // specified via YARN_CONTAINER_RUNTIME_DOCKER_CONTAINER_HOSTNAME + if (!network.equalsIgnoreCase("host") || hostname != null) { setHostname(runCommand, containerIdStr, hostname); } runCommand.setCapabilities(capabilities);