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"
}
}
Об'єднайте потрібні записи з іншими налаштуваннями демона та наявним списком обходу. Якщо інші завантаження з публічних реєстрів можуть використовувати публічного посередника, список HTTP-проксі дає кандидатів на URL проксі без облікового запису; збережіть обходи приватних ECR і S3. Замініть обліковий запис, регіон і hostname завантаження шарів на назви, які отримання фактично використовує. Форми назв S3 і конфігурації кінцевих точок можуть відрізнятися; цей приклад не є вичерпним списком кінцевих точок AWS. Застосування конфігурації демона потребує передбаченого перезапуску демона. Docker Desktop використовує власні налаштування проксі.
Обхід обирає прямий маршрут. Він не може створити відсутню кінцеву точку S3, приєднати таблицю маршрутів, надати доступ до бакета чи виправити приватний DNS. Підтвердьте ці залежності, перш ніж розширювати обхід на широкі домени AWS.
Налаштування проксі контейнера в клієнті Docker не налаштовують завантаження образів демоном. Так само команда AWS CLI, що отримує облікові дані для входу в ECR, має власну конфігурацію проксі; додайте її адресу API, якщо цьому окремому запиту також потрібен приватний доступ.