Docker Engine daemon.json: праксі-абыход для прыватных ECR і S3
Улічвайце загрузку пластоў S3, калі абыходзіце HTTP-проксі для загрузкі прыватных вобразаў ECR праз канчатковыя пункты VPC.
Паспяховае злучэнне з прыватным рэестрам ECR не завяршае загрузку вобраза. Маніфест падае ECR, а пласты вобраза захоўвае Amazon S3. Таму праксі-абыход, які ахоплівае толькі рэестр, можа пакінуць загрузку пластоў на іншым шляху.
Для прыватнага доступу праз канчатковыя пункты VPC праверце абодва шляхі:
- Канчатковы пункт інтэрфейсу ECR і яго канфігурацыю прыватнага DNS.
- Канчатковы пункт S3, звязаныя з ім табліцы маршрутызацыі і палітыку, якая дазваляе доступ да бакета пластоў ECR.
Затым унясіце адпаведныя імёны абыходу ў працэс, які выконвае загрузку. Для ўласнага Docker Engine з наяўнай праксі-канфігурацыяй daemon.json прыклад канфігурацыі для 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"
}
}
Аб'яднайце патрэбныя запісы з іншымі наладамі daemon і наяўным спісам абыходу. Калі іншыя загрузкі з публічных рэестраў могуць выкарыстоўваць публічнага пасярэдніка, спіс HTTP-проксі прапануе кандыдатаў для URL-адрасоў проксі без уліковага запісу; захавайце прыватныя абыходы ECR і S3. Замяніце ўліковы запіс, рэгіён і імя хоста загрузкі пластоў на імёны, якія фактычна выкарыстоўвае загрузка. Формы імёнаў S3 і канфігурацыі канчатковых пунктаў могуць адрознівацца; гэты прыклад не з'яўляецца поўным спісам канчатковых пунктаў AWS. Прымяненне канфігурацыі daemon патрабуе перазапуску патрэбнага daemon. Docker Desktop выкарыстоўвае ўласныя налады проксі.
Абыход выбірае прамы шлях. Ён не можа стварыць адсутны канчатковы пункт S3, далучыць табліцу маршрутызацыі, даць доступ да бакета або выправіць прыватны DNS. Пацвердзіце гэтыя залежнасці, перш чым пашыраць абыход на шырокія дамены AWS.
Налады проксі кантэйнераў у кліенце Docker не канфігуруюць загрузку вобразаў daemon. Гэтак жа каманда AWS CLI, якая атрымлівае ўліковыя даныя для ўваходу ў ECR, мае ўласную праксі-канфігурацыю; уключыце яе API-прызначэнне, калі гэты асобны запыт таксама патрабуе прыватнага доступу.