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