15 docker client #2

Merged
Liosha merged 41 commits from 15-docker-client into development 2026-09-03 20:28:04 +02:00
2 changed files with 9 additions and 11 deletions
Showing only changes of commit bae059df3f - Show all commits
+2 -2
View File
@@ -35,8 +35,8 @@ dependencies {
implementation 'com.github.docker-java:docker-java-api:3.3.6'
implementation 'com.github.docker-java:docker-java-core:3.3.6'
// Транспорт (HTTP Client 5) — именно он нужен для DockerConfig.java
implementation 'com.github.docker-java:docker-java-transport-httpclient5:3.3.6'
// Тот самый транспорт, который решит проблему с unix-сокетом
implementation 'com.github.docker-java:docker-java-transport-zerodep:3.4.0'
// Spring Boot Starter для STOMP WebSockets
implementation 'org.springframework.boot:spring-boot-starter-websocket'
@@ -4,8 +4,9 @@ import com.github.dockerjava.api.DockerClient;
import com.github.dockerjava.core.DefaultDockerClientConfig;
import com.github.dockerjava.core.DockerClientConfig;
import com.github.dockerjava.core.DockerClientImpl;
import com.github.dockerjava.httpclient5.ApacheDockerHttpClient;
import com.github.dockerjava.transport.DockerHttpClient;
import com.github.dockerjava.zerodep.ZerodepDockerHttpClient;
import com.jambotronGroup.jambotron.controllers.FileBrowserTreeController;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,6 +14,8 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.net.URI;
@Configuration
public class DockerConfig {
@@ -35,14 +38,9 @@ public class DockerConfig {
.withDockerHost(hostPath)
.build();
// 2. ГЛАВНОЕ ИЗМЕНЕНИЕ:
// Мы передаем URI напрямую в Builder транспорта Apache.
// Это "вырывает" логику переключения у библиотеки docker-java,
// так как транспорт теперь знает только об этом конкретном URI.
DockerHttpClient httpClient = new ApacheDockerHttpClient.Builder()
.dockerHost(dockerUri)
.sslConfig(config.getSSLConfig())
.maxConnections(100)
// Zerodep напрямую работает с сокетом и не переключается на 2375
DockerHttpClient httpClient = new ZerodepDockerHttpClient.Builder()
.dockerHost(URI.create(dockerHost))
.build();
_logger.info("FINAL ARCHITECTURE: Transport locked to {}", dockerUri);