Docker Engine daemon.json: obídenie proxy pre privátne ECR a S3
Zohľadni sťahovanie vrstiev z S3, keď obchádzaš HTTP proxy pri sťahovaní privátnych obrazov z ECR cez koncové body VPC.
Úspešné pripojenie k privátnemu registru ECR nedokončí sťahovanie obrazu. ECR dodáva manifest, zatiaľ čo vrstvy obrazu ukladá Amazon S3. Obídenie pokrývajúce iba register preto môže nechať sťahovanie vrstiev na inej trase.
Pre privátny prístup cez koncové body VPC skontroluj obe cesty:
- Rozhranový koncový bod ECR a jeho konfiguráciu privátneho DNS.
- Koncový bod S3, s ním spojené smerovacie tabuľky a politiku povoľujúcu prístup k bucketu vrstiev ECR.
Potom umiestni príslušné názvy obídenia do procesu, ktorý sťahovanie vykonáva. Pre natívny Docker Engine s existujúcou konfiguráciou proxy v daemon.json je ilustratívna konfigurácia pre us-east-2:
{
"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"
}
}
Skombinuj zamýšľané položky s ostatnými nastaveniami démona a existujúcim zoznamom obídenia. Ak iné sťahovania z verejných registrov môžu používať verejného sprostredkovateľa, zoznam HTTP proxy poskytuje kandidátov na URL proxy bez účtu; zachovaj obídenia privátneho ECR a S3. Nahraď účet, región a hostname sťahovania vrstiev názvami, ktoré sťahovanie skutočne používa. Formy názvov S3 a konfigurácie koncových bodov sa môžu líšiť; tento príklad nie je vyčerpávajúci zoznam koncových bodov AWS. Aplikácia konfigurácie démona vyžaduje zamýšľaný reštart démona. Docker Desktop používa vlastné nastavenia proxy.
Obídenie volí priamu trasu. Nedokáže vytvoriť chýbajúci koncový bod S3, pripojiť smerovaciu tabuľku, udeliť prístup k bucketu ani opraviť privátne DNS. Potvrď tieto závislosti pred rozšírením obídenia na široké domény AWS.
Nastavenia proxy kontajnera v klientovi Docker nekonfigurujú sťahovanie obrazov démonom. Rovnako príkaz AWS CLI získavajúci prihlasovacie údaje ECR má vlastnú konfiguráciu proxy; zahrň jeho cieľ API, ak aj táto samostatná požiadavka potrebuje privátny prístup.