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 מספקת מועמדים לכתובות הפרוקסי ללא חשבון; שמרו על עקיפות ECR ו-S3 הפרטיות. החליפו את החשבון, האזור ושם המארח של הורדת השכבות בשמות שבהם המשיכה משתמשת בפועל. צורות השמות של S3 ותצורות נקודות הקצה עשויות להשתנות; דוגמה זו אינה רשימה מלאה של נקודות קצה ב-AWS. החלת תצורת ה-daemon מחייבת את הפעלתו מחדש כמתוכנן. Docker Desktop משתמש בהגדרות הפרוקסי שלו.
עקיפה בוחרת מסלול ישיר. היא אינה יכולה ליצור נקודת קצה חסרה של S3, לחבר טבלת ניתוב, להעניק גישה לדלי או לתקן DNS פרטי. אשרו את התלויות הללו לפני הרחבת העקיפה לתחומים רחבים ב-AWS.
הגדרות הפרוקסי של מכולות אצל לקוח Docker אינן מגדירות את הורדות התמונות של ה-daemon. בדומה לכך, לפקודת AWS CLI שמשיגה אישורי התחברות ל-ECR יש תצורת פרוקסי משלה; כללו את יעד ה-API שלה אם גם הבקשה הנפרדת הזו זקוקה לגישה פרטית.