diff --git a/core/src/main/java/io/kestra/core/tasks/scripts/AbstractBash.java b/core/src/main/java/io/kestra/core/tasks/scripts/AbstractBash.java index 99cac1598b..3716ce0bf3 100644 --- a/core/src/main/java/io/kestra/core/tasks/scripts/AbstractBash.java +++ b/core/src/main/java/io/kestra/core/tasks/scripts/AbstractBash.java @@ -326,8 +326,7 @@ public static class DockerOptions { title = "Docker api uri" ) @PluginProperty(dynamic = true) - @Builder.Default - private final String dockerHost = "unix:///var/run/docker.sock"; + private String dockerHost; @Schema( title = "Docker config file", diff --git a/core/src/main/java/io/kestra/core/tasks/scripts/runners/DockerScriptRunner.java b/core/src/main/java/io/kestra/core/tasks/scripts/runners/DockerScriptRunner.java index 9094808dca..ffe397de0c 100644 --- a/core/src/main/java/io/kestra/core/tasks/scripts/runners/DockerScriptRunner.java +++ b/core/src/main/java/io/kestra/core/tasks/scripts/runners/DockerScriptRunner.java @@ -51,9 +51,10 @@ public DockerScriptRunner(ApplicationContext applicationContext) { private DockerClient getDockerClient(AbstractBash abstractBash, RunContext runContext, Path workingDirectory) throws IllegalVariableEvaluationException, IOException { DefaultDockerClientConfig.Builder dockerClientConfigBuilder = DefaultDockerClientConfig.createDefaultConfigBuilder(); + String dockerHost = null; if (abstractBash.getDockerOptions() != null) { if (abstractBash.getDockerOptions().getDockerHost() != null) { - dockerClientConfigBuilder.withDockerHost(runContext.render(abstractBash.getDockerOptions().getDockerHost())); + dockerHost = runContext.render(abstractBash.getDockerOptions().getDockerHost()); } if (abstractBash.getDockerOptions().getDockerConfig() != null) { @@ -66,6 +67,16 @@ private DockerClient getDockerClient(AbstractBash abstractBash, RunContext runCo } } + if (dockerHost != null) { + dockerClientConfigBuilder.withDockerHost(dockerHost); + } else { + if (Files.exists(Path.of("/var/run/docker.sock"))) { + dockerClientConfigBuilder.withDockerHost("unix:///var/run/docker.sock"); + } else if (Files.exists(Path.of("/dind/docker.sock"))) { + dockerClientConfigBuilder.withDockerHost("unix:///dind/docker.sock"); + } + } + DockerClientConfig dockerClientConfig = dockerClientConfigBuilder.build(); ApacheDockerHttpClient dockerHttpClient = new Builder()