Wenn Testcontainers beim Pull eines Images fehlschlägt, können die withEnv-Einstellungen des künftigen Containers nicht helfen. Der Docker-Daemon führt diesen Download aus der Registry aus, bevor der Container existiert.

Fehlgeschlagene OperationZu prüfende Proxy-Konfiguration
Image-PullDer vom Test verwendete Docker-Daemon und seine Route zur Registry
Download im laufenden ContainerDie von der Anwendung unterstützten Eingaben in diesem Container
Java-Test verbindet sich mit Docker oder der AnwendungDer Java-Client, der diese Verbindung aufbaut

Für den zweiten Fall fügen Sie der vorhandenen GenericContainer-Definition Umgebungsvariablen hinzu:

container
    .withEnv("http_proxy", "http://proxy.example:8080")
    .withEnv("https_proxy", "http://proxy.example:8080");

Wenn ein Download im Container einen öffentlichen HTTP-Endpunkt verwenden darf, füllen Sie diese Werte aus der HTTP-Proxy-Liste. Das Programm im Image muss diese Variablen lesen. Sie machen aus einem beliebigen Datenbank-Socket keinen HTTP-Proxy-Datenverkehr. Der Endpunkt muss außerdem aus dem Container erreichbar sein: sein 127.0.0.1 verweist auf ihn selbst.

Suchen Sie für den ersten Fall die Docker-Umgebung, die Testcontainers tatsächlich nutzt. Ein entfernter Daemon oder Docker Desktop bezieht die Konfiguration möglicherweise aus einer anderen Quelle als ein lokaler dockerd. Halten Sie lokale Testdienste und die Docker-API auf ihren vorgesehenen Routen, wenn Sie einen breiten Proxy-Standardwert hinzufügen.

Ähnliche Artikel