Docker Engine daemon.json: proxy-unntak for privat ECR og S3
Ta høyde for S3-lag-nedlastinger når du går utenom en HTTP-proxy for private ECR-imagehentinger via VPC-endepunkter.
En vellykket tilkobling til et privat ECR-register fullfører ikke en imagehenting. ECR leverer manifestet, mens Amazon S3 lagrer imagelagene. Et proxy-unntak som bare dekker registeret, kan derfor la lag-nedlastingen gå en annen vei.
For privat tilgang via VPC-endepunkter, kontroller begge veiene:
- ECR-grensesnittendepunktet og dets private DNS-oppsett.
- S3-endepunktet, tilhørende rutetabeller og policyen som gir tilgang til ECR-lagbøtta.
Legg deretter de relevante unntaksnavnene på prosessen som utfører hentingen. For en innebygd Docker Engine med eksisterende proxy-oppsett i daemon.json er en illustrerende us-east-2-konfigurasjon:
{
"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"
}
}
Slå sammen de tiltenkte oppføringene med daemonens andre innstillinger og den eksisterende unntakslista. Hvis andre offentlige register-nedlastinger kan bruke en offentlig mellommann, gir HTTP-proxy-lista kandidater for proxy-URL-er uten konto; behold unntakene for privat ECR og S3. Bytt ut konto, region og hostnavn for lag-nedlasting med navnene hentingen faktisk bruker. S3-navneformer og endepunktskonfigurasjoner kan variere; dette eksempelet er ikke en uttømmende AWS-endepunktliste. Å bruke daemon-oppsettet krever den tiltenkte daemon-omstarten. Docker Desktop bruker sine egne proxy-innstillinger.
Et unntak velger en direkte rute. Det kan ikke opprette et manglende S3-endepunkt, knytte til en rutetabell, gi bøtte-tilgang eller reparere privat DNS. Bekreft disse avhengighetene før du utvider unntaket til brede AWS-domener.
Docker-klientens proxy-innstillinger for containere konfigurerer ikke daemonens image-nedlastinger. På samme måte har en AWS CLI-kommando som henter ECR-innloggingslegitimasjon sitt eget proxy-oppsett; ta med API-målet hvis den separate forespørselen også trenger privat tilgang.