כיצד ליצור תמונת מיכל עבור Amazon ECS?

Kyzd Lyzwr Tmwnt Mykl Bwr Amazon Ecs



Amazon ECS ראשי תיבות של Elastic Container Service המאפשר למפתחים לבצע, לנהל ולהרחיב קונטיינרים של Docker באמזון. הוא מציע פורום מדרגי ואמין ביותר לפריסת יישומים מכולים ב-AWS (Amazon Web Service). זהו רישום קונטיינר של Docker המוצע על ידי AWS. זה מאפשר למפתחים לשמור, לטפל ולפרוס תמונות קונטיינר של Docker.

מאמר זה ידגים:







כיצד ליצור/לבנות תמונת Docker עבור Amazon ECS?

ניתן להשתמש ב-Docker CLI לדחיפה, משיכה וניהול של תמונות במאגרי ECR של אמזון. כדי ליצור תמונת מיכל עבור Amazon ECS, בצע את הצעדים המוזכרים להלן:



  • בניית קובץ Docker.
  • צור תמונת Docker דרך ' docker build -t <שם-תמונה>. ' פקודה.
  • אמת את תמונת Docker.
  • הפעל את תמונת Docker באמצעות ' docker run -t -i -p 80:80 <שם-תמונה> ' פקודה.

שלב 1: צור קובץ Docker



בקוד Visual Studio, צור קובץ חדש בשם ' Dockerfile ' והדבק את הקוד שלהלן לתוכו:





מ-ubuntu:האחרון

לָרוּץ apt-get update && apt-get להתקין אפאצ'י2 && מתאים-להתנקות

לָרוּץ הֵד 'שלום AWS!' > / היה / www / html / index.html

לַחשׂוֹף 80

CMD [ 'apache2ctl' , '-ד' , 'חֲזִית' ]

בקטע שלמעלה:



  • ה ' מ ' הפקודה מגדירה את תמונת הבסיס לשימוש, כלומר, אובונטו במקרה שלנו.
  • ה ' לָרוּץ ההוראות משמשות לעדכון רשימת החבילות ולהתקנת ה-' אפאצ'י2 ' שרת אינטרנט באמצעות ' apt-get ' מנהל אריזה. ה ' מתאים-להתנקות ' הפקודה מפנה מקום בדיסק על ידי הסרת קבצי חבילה במטמון שאינם נחוצים עוד.
  • ה ' RUN echo ' יוצר קובץ index.html פשוט בספריית השורש של שרת האינטרנט ' /var/www/html ' שמציגה את ההודעה ' שלום AWS! '.
  • ה ' לַחשׂוֹף הפקודה חושפת את יציאה 80 שהיא יציאת ברירת המחדל המשמשת Apache לשרת תעבורת אינטרנט.
  • ה ' CMD ” הפקודה מציינת את הפקודה לביצוע כאשר המיכל מתחיל. במקרה שלנו, זה שרת האינטרנט של Apache ומבצע אותו בחזית.

קובץ Docker זה יוצר תמונת מיכל מבוססת אובונטו שמתקין את שרת האינטרנט Apache2 וחושפת יציאה 80.

שלב 2: בניית Docker Image עבור Amazon ECS

לאחר מכן, צור תמונת Docker מקובץ Docker על ידי כתיבת ' docker build -t <שם-תמונה> . ' פקודה. כאן, אנו יוצרים תמונת Docker בשם ' aws-img ”:

בניית docker aws-img .

נוצרה תמונת Docker.

שלב 3: אמת את התמונה שנוצרה

כדי להבטיח שתמונת Docker נוצרה בהצלחה, בצע את הפקודה הרשומה למטה:

תמונות docker

בתמונה שלמעלה, החלק המודגש מראה שתמונת הדוקר ' aws-img ' נוצר בהצלחה.

שלב 4: הפעל את תמונת Docker

כעת, השתמש ב' דוקר ריצת הפקודה יחד עם הפקודה ' ' ו' -אני ' אפשרויות וציין את היציאה ואת שם התמונה כדי להפעיל את תמונת ה-Docker החדשה שנוצרה:

דוקר ריצת -אני -עמ' 80 : 80 aws-img

כאן:

  • ה ' אפשרות ” משמשת להפעלת מסוף Pseudo-TTY.
  • ה ' -אני 'דגל מאפשר אינטראקציה עם קונטיינר Docker.
  • ה ' -עמ' אפשרות ' משמשת להקצאת היציאה ' 80:80 '.
  • ה ' aws-img ' היא תמונת הדוקר:

לאחר שעשה זאת, תמונת Docker התחילה לרוץ על היציאה שהוקצתה אותה ניתן לראות בצילום המסך שלהלן:

כיצד לדחוף/להעלות תמונת Docker לאמזון ECR?

כדי לדחוף/להעלות את תמונת המכולה לאמזון ECR, בדוק את השלבים הבאים:

  • הגדר את AWS CLI
  • צור מאגר ECR של אמזון באמצעות ' aws ecr create-repository –repository-name –region ' פקודה.
  • תייגו את תמונת הדוקר דרך ' docker tag ' פקודה.
  • היכנס לאמזון ECR באמצעות Docker.
  • דחף את תמונת הדוקר לאמזון ECR באמצעות ' docker push ' פקודה.
  • אימות.

הערה: בדוק את המסור שלנו הודעה להתקנת AWS CLI ב-Windows.

שלב 1: הגדר את AWS CLI

ראשית, בצע את הפקודה שסופקה וספק את האישורים הנדרשים כדי להגדיר את AWS CLI:

aws להגדיר

הערה: כדי לראות מידע נוסף על תצורת AWS CLI, בדוק את שלנו הודעה בנוגע לזה.

שלב 2: צור מאגר ECR של אמזון

לאחר מכן, צור/צור מאגר אמזון ECR להעלאת תמונות Docker באמצעות ' aws ecr create-repository –repository-name –region ' פקודה:

aws ecr create-repository --שם מאגר aws-repo --אזור אפ-דרום-מזרח- 1

הפקודה האמורה יצרה מאגר ב- Amazon ECR שניתן לראות בצילום המסך שלהלן:

בפלט לעיל, ה-' aws-repo ניתן לראות מאגר.

שלב 3: תייגו את תמונת Docker

כעת, תייגו את תמונת Docker הרצויה עם כתובת האתר של המאגר באמצעות ' docker tag ' פקודה:

docker tag aws-img 663878894723 .dkr.ecr.ap-southeast- 1 .amazonaws.com / aws-repo

שלב 4: היכנס לאמזון ECR

לאחר מכן, הפעל את ' aws ecr get-login-password –אזור <אזור> | docker login – שם משתמש AWS –password-stdin .dkr.ecr..amazonaws.com כדי להיכנס לאמזון ECR באמצעות Docker:

aws ecr get-login-password --אזור אפ-דרום-מזרח- 1 | דוקר התחברות --שם משתמש AWS --password-stdin 663878894723 .dkr.ecr.ap-southeast- 1 .amazonaws.com

כאן,

  • ה ' aws ecr get-login-password הפקודה משמשת לאחזור אסימון אימות עבור רישום ECR שצוין.
  • ה ' -אזור הדגל משמש לציון אזור ה-AWS שבו נמצא רישום ה-ECR. במקרה שלנו, זה ' ap-southeast-1 אזור שהוא אסיה פסיפיק סינגפור.
  • ה ' כניסה של docker הפקודה משמשת לכניסה לרישום Docker הרצוי. זה צריך שם משתמש וסיסמה כדי לאמת עם הרישום.
  • ה ' -שם משתמש אפשרות ” מציינת את שם המשתמש שבו יש להשתמש בעת הכניסה לרישום ECR. לדוגמה, ציינו ' AWS ' שם משתמש.
  • ה ' –סיסמה-סטדין אפשרות ” אומר ל-Docker לאחזר את הסיסמה מקלט רגיל.
  • ה ' dkr.ecr.ap-southeast-1.amazonaws.com ” היא כתובת האתר של רישום ה-ECR. זה כולל מזהה חשבון AWS ואת אזור ה-AWS שבו נמצא רישום ה-ECR:

הפלט לעיל מציין שהתחברנו בהצלחה לאמזון ECR.

שלב 5: דחוף את תמונת Docker ל- Amazon ECR

לבסוף, דחוף את תמונת Docker לאמזון ECR באמצעות ' docker push ' פקודה:

> לדחוף דוקר 663878894723 .dkr.ecr.ap-southeast- 1 .amazonaws.com / aws-repo

על פי הפלט לעיל, תמונת Docker נדחקה ל- Amazon ECR.

שלב 6: אימות

לבסוף, הפנה מחדש לרישום המכילים האלסטי של אמזון וודא אם תמונת Docker נדחפה לשם או לא:

בפלט לעיל, תמונת Docker נדחקה בהצלחה ל- Amazon ECR.

סיכום

כדי ליצור תמונת מיכל עבור Amazon ECS, ראשית, צור קובץ Docker. לאחר מכן, בנה תמונת Docker מקובץ Docker הרצוי באמצעות ' docker build -t <שם-תמונה>. ' הפקודה והפעל אותו. לאחר מכן, הגדר את Amazon CLI וצור מאגר ECR של Amazon. לאחר מכן, תייגו את תמונת Docker והיכנסו לאמזון ECR באמצעות Docker. לבסוף, דחוף את תמונת Docker לאמזון ECR באמצעות ' docker push ' פקודה.