in src/main/java/com/google/devtools/build/remote/client/DockerUtil.java [104:134]
public String getDockerCommand(Command command, String workingPath) {
String container = dockerContainer(command);
if (container == null) {
throw new IllegalArgumentException("No docker image specified in given Command.");
}
List<String> commandElements = new ArrayList<>();
commandElements.add("docker");
commandElements.add("run");
long uid = uidGetter.getUid();
if (uid >= 0 && !System.getProperty("os.name").startsWith("Windows")) {
commandElements.add("-u");
commandElements.add(Long.toString(uid));
}
String dockerPathString = workingPath + "-docker";
commandElements.add("-v");
commandElements.add(workingPath + ":" + dockerPathString);
commandElements.add("-w");
commandElements.add(dockerPathString);
for (EnvironmentVariable var : command.getEnvironmentVariablesList()) {
commandElements.add("-e");
commandElements.add(var.getName() + "=" + var.getValue());
}
commandElements.add(container);
commandElements.addAll(command.getArgumentsList());
return ShellEscaper.escapeJoinAll(commandElements);
}