Docker Engine daemon.json: paglampas sa proxy para sa pribadong ECR at S3
Isaalang-alang ang pag-download ng mga layer mula sa S3 kapag nilalampasan ang HTTP proxy para sa paghila ng pribadong ECR image sa pamamagitan ng mga VPC endpoint.
Ang matagumpay na koneksyon sa isang pribadong ECR registry ay hindi nagtatapos ng paghila ng image. Nagbibigay ang ECR ng manifest, habang iniimbak ng Amazon S3 ang mga layer ng image. Kaya ang paglampas na sumasaklaw lamang sa registry ay maaaring mag-iwan sa pag-download ng layer sa ibang ruta.
Para sa pribadong pag-access sa pamamagitan ng mga VPC endpoint, suriin ang dalawang landas:
- Ang ECR interface endpoint at ang pribadong DNS configuration nito.
- Ang S3 endpoint, ang mga kaugnay na route table, at ang patakarang nagpapahintulot ng access sa layer bucket ng ECR.
Pagkatapos, ilagay ang mga kaugnay na pangalan ng paglampas sa prosesong gumagawa ng paghila. Para sa native na Docker Engine na may umiiral nang proxy configuration sa daemon.json, isang halimbawang configuration para sa us-east-2 ay:
{
"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"
}
}
Pagsamahin ang mga intendidong entry sa iba pang setting ng daemon at sa umiiral nang listahan ng paglampas. Kung ang iba pang pag-download mula sa pampublikong registry ay maaaring gumamit ng pampublikong tagapamagitan, ang listahan ng HTTP proxy ay nagbibigay ng mga kandidato para sa proxy URL na walang account; panatilihin ang paglampas sa pribadong ECR at S3. Palitan ang account, rehiyon at hostname ng pag-download ng layer ng mga pangalang aktwal na ginagamit ng paghila. Maaaring magkaiba ang mga anyo ng pangalan ng S3 at configuration ng endpoint; ang halimbawang ito ay hindi kumpletong listahan ng mga endpoint ng AWS. Ang paglalapat ng configuration ng daemon ay nangangailangan ng intendidong pag-restart ng daemon. Gumagamit ang Docker Desktop ng sarili nitong mga setting ng proxy.
Pumipili ang paglampas ng direktang ruta. Hindi ito makakagawa ng kulang na S3 endpoint, makakabit ng route table, makakapagbigay ng access sa bucket o makakapag-ayos ng pribadong DNS. Kumpirmahin ang mga dependency na iyon bago palawakin ang paglampas sa malalawak na domain ng AWS.
Ang mga setting ng proxy ng container sa Docker client ay hindi nagko-configure ng pag-download ng image ng daemon. Gayundin, ang AWS CLI command na kumukuha ng ECR login credentials ay may sariling proxy configuration; isama ang API destination nito kung ang hiwalay na kahilingang iyon ay nangangailangan din ng pribadong access.