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 c86ed537874..61faa26cf30 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 @@ -231,6 +231,9 @@ @InterfaceAudience.Private public static final String ENV_DOCKER_CONTAINER_DELAYED_REMOVAL = "YARN_CONTAINER_RUNTIME_DOCKER_DELAYED_REMOVAL"; + @InterfaceAudience.Private + public static final String ENV_DOCKER_CONTAINER_DOCKER_RUNTIME = + "YARN_CONTAINER_RUNTIME_DOCKER_RUNTIME"; private Configuration conf; private Context nmContext; private DockerClient dockerClient; @@ -789,6 +792,7 @@ public void launchContainer(ContainerRuntimeContext ctx) String imageName = environment.get(ENV_DOCKER_CONTAINER_IMAGE); String network = environment.get(ENV_DOCKER_CONTAINER_NETWORK); String hostname = environment.get(ENV_DOCKER_CONTAINER_HOSTNAME); + String runtime = environment.get(ENV_DOCKER_CONTAINER_DOCKER_RUNTIME); boolean useEntryPoint = checkUseEntryPoint(environment); if (imageName == null || imageName.isEmpty()) { @@ -859,6 +863,9 @@ public void launchContainer(ContainerRuntimeContext ctx) setHostname(runCommand, containerIdStr, network, hostname); runCommand.setCapabilities(capabilities); + if (runtime != null && !runtime.isEmpty()) { + runCommand.addRuntime(runtime); + } runCommand.addAllReadWriteMountLocations(containerLogDirs); runCommand.addAllReadWriteMountLocations(applicationLocalDirs);