adjast wss + docker logs

This commit is contained in:
2026-05-11 21:04:39 +03:00
parent 3934a63270
commit 27cdad8703
@@ -23,23 +23,30 @@ public class DockerConfig {
@Bean @Bean
public DockerClient dockerClient() { public DockerClient dockerClient() {
String hostToUse = dockerHost; // 1. Четко определяем путь. Если переменная пуста или кривая - ставим дефолт.
if (hostToUse.contains("2375") || hostToUse.equals("localhost")) { String hostPath = (dockerHost != null && !dockerHost.contains("2375"))
hostToUse = "unix:///var/run/docker.sock"; ? dockerHost
} : "unix:///var/run/docker.sock";
// Создаем URI заранее, чтобы избежать ошибок парсинга в рантайме
java.net.URI dockerUri = java.net.URI.create(hostPath);
DockerClientConfig config = DefaultDockerClientConfig.createDefaultConfigBuilder() DockerClientConfig config = DefaultDockerClientConfig.createDefaultConfigBuilder()
.withDockerHost(hostToUse) .withDockerHost(hostPath)
.build(); .build();
// Явно задаем URI для транспорта, чтобы исключить localhost:2375 // 2. ГЛАВНОЕ ИЗМЕНЕНИЕ:
// Мы передаем URI напрямую в Builder транспорта Apache.
// Это "вырывает" логику переключения у библиотеки docker-java,
// так как транспорт теперь знает только об этом конкретном URI.
DockerHttpClient httpClient = new ApacheDockerHttpClient.Builder() DockerHttpClient httpClient = new ApacheDockerHttpClient.Builder()
.dockerHost(java.net.URI.create(hostToUse)) // Принудительный URI .dockerHost(dockerUri)
.sslConfig(config.getSSLConfig()) .sslConfig(config.getSSLConfig())
.maxConnections(100) .maxConnections(100)
.build(); .build();
_logger.info("Fixed Docker Host for transport: {}", hostToUse); _logger.info("FINAL ARCHITECTURE: Transport locked to {}", dockerUri);
return DockerClientImpl.getInstance(config, httpClient); return DockerClientImpl.getInstance(config, httpClient);
} }
} }