Spring Boot应用使用docker-java库无法连接Docker守护进程的问题求助
Spring Boot应用使用docker-java库无法连接Docker守护进程的问题求助
我正尝试通过docker-java库将我的Spring Boot应用连接到Docker守护进程,但遇到了如下错误:
java.lang.RuntimeException: org.apache.hc.client5.http.HttpHostConnectException: Connect to unix://localhost:2375 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused at com.github.dockerjava.httpclient5.ApacheDockerHttpClientImpl.execute(ApacheDockerHttpClientImpl.java:210) ~[docker-java-transport-httpclient5-3.4.1.jar:na] at com.github.dockerjava.httpclient5.ApacheDockerHttpClient.execute(ApacheDockerHttpClient.java:9) ~[docker-java-transport-httpclient5-3.4.1.jar:na] at com.github.dockerjava.core.DefaultInvocationBuilder.execute(DefaultInvocationBuilder.java:228) ~[docker-java-core-3.4.1.jar:na] at com.github.dockerjava.core.DefaultInvocationBuilder.post(DefaultInvocationBuilder.java:124) ~[docker-java-core-3.4.1.jar:na] at com.github.dockerjava.core.exec.CreateContainerCmdExec.execute(CreateContainerCmdExec.java:37) ~[docker-java-core-3.4.1.jar:na] at com.github.dockerjava.core.exec.CreateContainerCmdExec.execute(CreateContainerCmdExec.java:13) ~[docker-java-core-3.4.1.jar:na] at com.github.dockerjava.core.exec.AbstrSyncDockerCmdExec.exec(AbstrSyncDockerCmdExec.java:21) ~[docker-java-core-3.4.1.jar:na] at com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:33) ~[docker-java-core-3.4.1.jar:na] at com.github.dockerjava.core.command.CreateContainerCmdImpl.exec(CreateContainerCmdImpl.java:608) ~[docker-java-core-3.4.1.jar:na]
配置详情
我在Docker配置里是这样定义客户端的:
@Bean public DockerClientConfig dockerClientConfig() { return DefaultDockerClientConfig.createDefaultConfigBuilder() .withDockerHost("unix:///var/run/docker.sock") .build(); } @Bean public DockerHttpClient httpClient(DockerClientConfig config) { return new ApacheDockerHttpClient.Builder() .dockerHost(config.getDockerHost()) .maxConnections(100) .connectionTimeout(Duration.ofSeconds(30)) .responseTimeout(Duration.ofSeconds(45)) .build(); }
POM文件
我的pom.xml里引入了这些依赖:
<dependency> <groupId>com.github.docker-java</groupId> <artifactId>docker-java</artifactId> <version>3.4.1</version> </dependency> <dependency> <groupId>com.github.docker-java</groupId> <artifactId>docker-java-transport-httpclient5</artifactId> <version>3.4.1</version> </dependency>
Docker守护进程配置
这是我的Docker守护进程配置内容:
{ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "experimental": false, "hosts": [ "unix:///var/run/docker.sock", "unix://localhost:2375", "tcp://127.0.0.1:2375" ] }
备注:内容来源于stack exchange,提问作者Deshy Dan
相关产品推荐
相关产品推荐

