Docker Engine daemon.json : contournement du proxy pour ECR et S3 privés
Tenez compte des téléchargements de couches S3 lorsque vous contournez un proxy HTTP pour extraire des images ECR privées via des points de terminaison VPC.
Une connexion réussie à un registre ECR privé ne termine pas l'extraction d'une image. ECR fournit le manifeste, tandis qu'Amazon S3 stocke les couches de l'image. Un contournement de proxy qui ne couvre que le registre peut donc laisser le téléchargement des couches emprunter un autre chemin.
Pour l'accès privé via des points de terminaison VPC, vérifiez les deux chemins :
- Le point de terminaison d'interface ECR et sa configuration DNS privée.
- Le point de terminaison S3, ses tables de routage associées et la politique autorisant l'accès au compartiment de couches d'ECR.
Placez ensuite les noms de contournement pertinents sur le processus qui effectue l'extraction. Pour un Docker Engine natif disposant d'une configuration de proxy existante dans daemon.json, une configuration illustrative pour us-east-2 est la suivante :
{
"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"
}
}
Fusionnez les entrées prévues avec les autres réglages du daemon et la liste de contournement existante. Si d'autres téléchargements depuis des registres publics peuvent utiliser un intermédiaire public, la liste de proxys HTTP fournit des candidats pour les URL de proxy sans compte ; conservez les exceptions privées ECR et S3. Remplacez le compte, la région et le nom d'hôte de téléchargement des couches par les noms réellement utilisés par l'extraction. Les formes de nommage S3 et les configurations de points de terminaison peuvent varier ; cet exemple n'est pas une liste exhaustive des points de terminaison AWS. Appliquer la configuration du daemon nécessite le redémarrage prévu du daemon. Docker Desktop utilise ses propres réglages de proxy.
Un contournement choisit une route directe. Il ne peut pas créer un point de terminaison S3 manquant, attacher une table de routage, accorder l'accès au compartiment ni réparer le DNS privé. Confirmez ces dépendances avant d'étendre le contournement à de larges domaines AWS.
Les réglages de proxy des conteneurs du client Docker ne configurent pas les téléchargements d'images du daemon. De même, une commande AWS CLI qui obtient des identifiants de connexion ECR possède sa propre configuration de proxy ; incluez sa destination d'API si cette requête distincte a aussi besoin d'un accès privé.