Docker Engine daemon.json: starpniekservera apiešana privātam ECR un S3
Ņem vērā S3 slāņu lejupielādi, apejot HTTP starpniekserveri privātu ECR attēlu vilkšanai caur VPC galapunktiem.
Veiksmīgs savienojums ar privātu ECR reģistru vēl neizpilda attēla vilkšanu. ECR piegādā manifestu, bet attēla slāņus glabā Amazon S3. Tāpēc apiešana, kas aptver tikai reģistru, var atstāt slāņu lejupielādi citā maršrutā.
Privātai piekļuvei caur VPC galapunktiem pārbaudi abus ceļus:
- ECR saskarnes galapunktu un tā privātā DNS konfigurāciju.
- S3 galapunktu, ar to saistītās maršrutu tabulas un politiku, kas ļauj piekļūt ECR slāņu bucket.
Tad ieraksti attiecīgos apiešanas nosaukumus procesā, kas veic vilkšanu. Vietējam Docker Engine ar esošu daemon.json starpniekservera konfigurāciju ilustratīva us-east-2 konfigurācija ir:
{
"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"
}
}
Apvieno paredzētos ierakstus ar citiem daemon iestatījumiem un esošo apiešanas sarakstu. Ja citas publisko reģistru lejupielādes var izmantot publisku starpnieku, HTTP starpniekserveru saraksts piedāvā kandidātus starpniekservera URL bez konta; saglabā privātā ECR un S3 apiešanu. Aizvieto kontu, reģionu un slāņu lejupielādes hostname ar nosaukumiem, ko vilkšana faktiski izmanto. S3 nosaukumu formas un galapunktu konfigurācijas var atšķirties; šis piemērs nav izsmeļošs AWS galapunktu saraksts. Daemon konfigurācijas piemērošana prasa paredzēto daemon restartu. Docker Desktop izmanto savus starpniekservera iestatījumus.
Apiešana izvēlas tiešu maršrutu. Tā nevar izveidot trūkstošu S3 galapunktu, pievienot maršrutu tabulu, piešķirt piekļuvi bucket vai salabot privāto DNS. Pirms apiešanas paplašināšanas uz plašiem AWS domēniem apstiprini šīs atkarības.
Docker klienta konteinera starpniekservera iestatījumi nekonfigurē daemon attēlu lejupielādes. Tāpat AWS CLI komandai, kas iegūst ECR pieteikšanās akreditācijas datus, ir sava starpniekservera konfigurācija; iekļauj tās API galamērķi, ja arī šim atsevišķajam pieprasījumam vajadzīga privāta piekļuve.