Docker Engine daemon.json: Proxy-Umgehung für privates ECR und S3
Berücksichtigen Sie S3-Layer-Downloads, wenn Sie einen HTTP-Proxy für private ECR-Image-Pulls über VPC-Endpunkte umgehen.
Eine erfolgreiche Verbindung zu einer privaten ECR-Registry schließt einen Image-Pull nicht ab. ECR liefert das Manifest, während Amazon S3 die Image-Layer speichert. Eine Proxy-Umgehung, die nur die Registry abdeckt, kann daher dazu führen, dass der Layer-Download einen anderen Weg nimmt.
Prüfen Sie für den privaten Zugriff über VPC-Endpunkte beide Pfade:
- Den ECR-Schnittstellenendpunkt und seine private DNS-Konfiguration.
- Den S3-Endpunkt, die zugehörigen Routingtabellen und die Richtlinie, die den Zugriff auf den Layer-Bucket von ECR erlaubt.
Tragen Sie dann die relevanten Umgehungsnamen bei dem Prozess ein, der den Pull ausführt. Für eine native Docker Engine mit vorhandener Proxy-Konfiguration in daemon.json sieht eine beispielhafte Konfiguration für us-east-2 so aus:
{
"proxies": {
"http-proxy": "http://proxy.example:8080",
"https-proxy": "http://proxy.example:8080",
"no-proxy": "123456789012.dkr.ecr.us-east-2.amazonaws.com,prod-us-east-2-starport-layer-bucket.s3.us-east-2.amazonaws.com"
}
}
Führen Sie die vorgesehenen Einträge mit den übrigen Einstellungen des Daemons und der bestehenden Umgehungsliste zusammen. Können andere Downloads aus öffentlichen Registries einen öffentlichen Vermittler nutzen, liefert die HTTP-Proxy-Liste Kandidaten für die Proxy-URLs ohne Konto; die privaten Ausnahmen für ECR und S3 bleiben erhalten. Ersetzen Sie Konto, Region und Hostnamen des Layer-Downloads durch die Namen, die der Pull tatsächlich verwendet. S3-Namensformen und Endpunktkonfigurationen können abweichen; dieses Beispiel ist keine vollständige Liste der AWS-Endpunkte. Das Anwenden der Daemon-Konfiguration erfordert den vorgesehenen Neustart des Daemons. Docker Desktop verwendet eigene Proxy-Einstellungen.
Eine Umgehung wählt einen direkten Weg. Sie kann keinen fehlenden S3-Endpunkt erzeugen, keine Routingtablelle anhängen, keinen Bucket-Zugriff gewähren und kein privates DNS reparieren. Bestätigen Sie diese Abhängigkeiten, bevor Sie die Umgehung auf breite AWS-Domains ausdehnen.
Die Container-Proxy-Einstellungen des Docker-Clients konfigurieren die Image-Downloads des Daemons nicht. Ebenso hat ein AWS-CLI-Befehl, der ECR-Anmeldedaten beschafft, seine eigene Proxy-Konfiguration; nehmen Sie dessen API-Ziel auf, wenn auch diese separate Anfrage privaten Zugriff benötigt.