Docker Engine daemon.json: proxyomgåelse for private ECR og S3
Tag højde for S3-lagdønloads, når du omgår en HTTP-proxy til private ECR-image pulls via VPC-endpoints.
En vellykket forbindelse til et privat ECR-register fuldfører ikke et image pull. ECR leverer manifestet, mens Amazon S3 lagrer imagens lag. En proxyomgåelse, der kun dækker registeret, kan derfor efterlade lagdownloadet på en anden rute.
For privat adgang via VPC-endpoints skal du kontrollere begge veje:
- ECR-grænsefladeendpointet og dets private DNS-konfiguration.
- S3-endpointet, dets tilknyttede rutetabeller og den politik, der giver adgang til ECRs lagbucket.
Sæt derefter de relevante omgåelsesnavne på den proces, der udfører pull'et. For en native Docker Engine med en eksisterende daemon.json-proxykonfiguration er en illustrativ us-east-2-konfiguration:
{
"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"
}
}
Flet de tilsigtede poster sammen med daemonens øvrige indstillinger og den eksisterende omgåelsesliste. Hvis andre offentlige registerdownloads kan bruge en offentlig mellemmand, giver HTTP-proxylisten kandidater til proxy-URL'erne uden konto; bevar de private ECR- og S3-omgåelser. Erstat konto, region og værtsnavn for lagdownload med de navne, som pull'et faktisk bruger. S3-navneformer og endpointkonfigurationer kan variere; dette eksempel er ikke en udtømmende liste over AWS-endpoints. Anvendelse af daemonkonfiguration kræver den tilsigtede genstart af daemonen. Docker Desktop bruger sine egne proxyindstillinger.
En omgåelse vælger en direkte rute. Den kan ikke oprette et manglende S3-endpoint, tilknytte en rutetabel, give bucketadgang eller reparere privat DNS. Bekræft disse afhængigheder, før du udvider omgåelsen til brede AWS-domæner.
Docker-klientens proxyindstillinger for containere konfigurerer ikke daemonens image-downloads. På samme måde har en AWS CLI-kommando, der henter ECR-loginoplysninger, sin egen proxykonfiguration; medtag dens API-destination, hvis den separate anmodning også har brug for privat adgang.