Docker Engine daemon.json: obejście serwera proxy dla prywatnego ECR i S3
Uwzględnij pobieranie warstw z S3, gdy omijasz serwer proxy HTTP przy pobieraniu prywatnych obrazów z ECR przez punkty końcowe VPC.
Udane połączenie z prywatnym rejestrem ECR nie kończy pobierania obrazu. ECR dostarcza manifest, a warstwy obrazu przechowuje Amazon S3. Obejście obejmujące tylko rejestr może więc pozostawić pobieranie warstw na innej trasie.
Aby uzyskać prywatny dostęp przez punkty końcowe VPC, sprawdź obie ścieżki:
- Punkt końcowy interfejsu ECR i jego konfigurację prywatnego DNS.
- Punkt końcowy S3, powiązane tabele tras i politykę zezwalającą na dostęp do zasobnika warstw ECR.
Następnie umieść odpowiednie nazwy obejścia w procesie wykonującym pobieranie. Dla natywnego Docker Engine z istniejącą konfiguracją serwera proxy w daemon.json przykładowa konfiguracja dla us-east-2 wygląda tak:
{
"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"
}
}
Połącz zamierzone wpisy z pozostałymi ustawieniami demona i istniejącą listą obejść. Jeśli inne pobierania z publicznych rejestrów mogą korzystać z publicznego pośrednika, lista serwerów proxy HTTP dostarcza kandydatów na adresy URL proxy bez konta; zachowaj obejścia prywatnego ECR i S3. Zastąp konto, region i nazwę hosta pobierania warstw nazwami faktycznie używanymi przez pobieranie. Formy nazw S3 i konfiguracje punktów końcowych mogą się różnić; ten przykład nie jest wyczerpującą listą punktów końcowych AWS. Zastosowanie konfiguracji demona wymaga zamierzonego restartu demona. Docker Desktop używa własnych ustawień serwera proxy.
Obejście wybiera bezpośrednią trasę. Nie potrafi utworzyć brakującego punktu końcowego S3, dołączyć tabeli tras, przyznać dostępu do zasobnika ani naprawić prywatnego DNS. Potwierdź te zależności, zanim rozszerzysz obejście na szerokie domeny AWS.
Ustawienia serwera proxy kontenera w kliencie Docker nie konfigurują pobierania obrazów przez demona. Podobnie polecenie AWS CLI pobierające dane logowania do ECR ma własną konfigurację serwera proxy; uwzględnij jego miejsce docelowe API, jeśli to osobne żądanie również wymaga prywatnego dostępu.