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 tillater tilgang til ECR-lagbøtta.
Legg deretter de relevante unntaksnavnene på prosessen som utfører hentingen. For en native Docker Engine med eksisterende proxyoppsett 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 øvrige innstillinger og den eksisterende unntakslisten. Hvis andre nedlastinger fra offentlige registre kan bruke en offentlig mellommann, gir HTTP-proxylisten kandidater for proxy-URL-er uten konto; behold unntakene for privat ECR og S3. Erstatt konto, region og vertsnavn for lag-nedlasting med navnene hentingen faktisk bruker. S3-navneformer og endepunktskonfigurasjoner kan variere; dette eksempelet er ikke en uttømmende liste over AWS-endepunkter. Bruk av daemonoppsettet krever den tiltenkte omstarten av daemonen. Docker Desktop bruker egne proxyinnstillinger.
Et unntak velger en direkte rute. Det kan ikke opprette et manglende S3-endepunkt, koble til en rutetabell, gi bøttetilgang eller reparere privat DNS. Bekreft disse avhengighetene før du utvider unntaket til brede AWS-domener.
Proxyinnstillingene for containere i Docker-klienten konfigurerer ikke daemonens bildenedlastinger. Tilsvarende har en AWS CLI-kommando som henter ECR-påloggingslegitimasjon sin egen proxykonfigurasjon; ta med API-målet hvis den separate forespørselen også trenger privat tilgang.