שמות המאגרים והתמונות

ב-Artifact Registry יש מוסכמת שמות לזיהוי מאגרי תמונות ותמונות כשמשתמשים ב-API, ב-gcloud ובפקודות docker כדי ליצור אינטראקציה עם מאגרים.

מאגרי Docker

השם המלא של מאגר Docker הוא בפורמט הבא:

LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY

כאשר:

לדוגמה, תמונה עם המאפיינים הבאים:

  • מיקום המאגר: us-west1
  • פורמט המאגר: docker
  • שם המאגר: my-repo
  • מזהה הפרויקט: my-project

המאגר מצוין כך:

us-west1-docker.pkg.dev/my-project/my-repo

השמות של קובצי האימג' של הקונטיינרים

השם המלא של קובץ אימג' של קונטיינר מופיע באחד מהפורמטים הבאים:

LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE

או

LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE:TAG

או

LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE@IMAGE-DIGEST

where:

  • LOCATION הוא המיקום האזורי או המיקום במספר אזורים של המאגר.
  • PROJECT הוא מזהה הפרויקט במסוף. Google Cloud אם מזהה הפרויקט מכיל נקודתיים (:), כדאי לעיין במאמר בנושא פרויקטים בהיקף הדומיין.
  • REPOSITORY הוא שם המאגר שבו מאוחסן האימג'.
  • IMAGE הוא שם האימג' במאגר.
  • TAG הוא התג של גרסת התמונה שרוצים למשוך.
  • IMAGE-DIGEST הוא ערך הגיבוב sha256 של תוכן התמונה. ב Google Cloud מסוף, לוחצים על התמונה הספציפית כדי לראות את המטא-נתונים שלה. התקציר מופיע כתקציר תמונה. אם לא מציינים תג או תקציר, Artifact Registry מחפש את התמונה עם תג ברירת המחדל latest. מידע על גרסאות זמין במאמר גרסאות של קובצי אימג' של קונטיינרים.

לדוגמה, תמונה עם המאפיינים הבאים:

  • מיקום המאגר: us-west1
  • שם המאגר: my-repo
  • מזהה הפרויקט: my-project
  • שם התמונה: test
  • תג: staging

הגרסה הזו של התמונה שתויגה כ-staging מוגדרת כך:

us-west1-docker.pkg.dev/my-project/my-repo/test:staging

גרסאות של קובץ אימג' של קונטיינר

מאגר יכול להכיל הרבה קובצי אימג' של קונטיינרים, ולכל קובץ אימג' יכולות להיות גרסאות שונות. כדי לזהות גרסה ספציפית של תמונה, אפשר לציין את ה-digest או התג של התמונה.

תקציר
תקציר תמונות הוא גיבוב שנוצר באופן אוטומטי של אינדקס התמונות או של מניפסט התמונות. כל תקציר תמונה הוא מזהה ייחודי של גרסת תמונה, ואי אפשר לשנות אותו. התקציר הוא ערך הגיבוב (hash) מסוג sha256 של תוכן התמונה.
תג

תג תמונה הוא תווית, ולרוב הוא מחרוזת שאנשים יכולים לקרוא, כמו v1.1 או development. תג יכול להפנות רק לגרסה אחת של תמונה. ב-Artifact Registry, אפשר להגדיר מאגר Docker כך שיאפשר תגי אימג' שניתנים לשינוי או שיאכוף תגי אימג' שלא ניתן לשנות.

  • ניתן לשינוי: תג מצביע רק על גרסה אחת של תמונה, אבל ה-digest הספציפי שהוא מפנה אליו יכול להשתנות.

    גישה נפוצה היא לתייג תמונות עם מזהה גרסה, כמו v1.1 במשך זמן של תהליך build. כשגרסת ה-build דוחפת כמה גרסאות של התמונה למאגר עם אותו תג v1.1, התג מפנה ל-digest של הגרסה האחרונה שנדחפה למאגר. למרות שתגי תמונה שניתנים לשינוי מספקים דרך נוחה לתיוג גרסאות, גורם זדוני יכול גם לתפעל אותם כדי לשייך תג לגרסה זדונית של תמונה.

  • בלתי משתנה: במאגר, תג תמיד מצביע על אותו גיבוב תמונה. אם מאגר Artifact Registry מוגדר לתגי תמונות בלתי ניתנים לשינוי, אסור לבצע את הפעולות הבאות:

    • מחיקת תמונה מתויגת. עדיין מותר למחוק תמונות שלא תויגו.
    • הסרת תג מתמונה.
    • העלאה של תמונה עם תג שכבר נמצא בשימוש בגרסה אחרת של התמונה במאגר.

לדוגמה, תמונה עם המאפיינים הבאים:

  • מיקום המאגר: us-west1
  • שם המאגר: my-repo
  • מזהה הפרויקט: my-project
  • שם התמונה: test
  • תג: staging
  • תקציר: sha256:4d11e24ba8a615cc85a535daa17b47d3c0219f7eeb2b8208896704ad7f88ae2d

כדי לזהות את התמונה באמצעות התג, מוסיפים את התג :staging לשם התמונה:

us-west1-docker.pkg.dev/my-project/my-repo/test:staging

כדי לזהות את התמונה באמצעות הגיבוב, מוסיפים את הגיבוב לשם התמונה אחרי @:

us-west1-docker.pkg.dev/my-project/my-repo/test@sha256:4d11e24ba8a615cc85a535daa17b47d3c0219f7eeb2b8208896704ad7f88ae2d
אם מזהה הפרויקט מכיל נקודתיים (:), כדאי לעיין במאמר בנושא פרויקטים בהיקף הדומיין.

במסוף, במסך Images, בעמודה Tags מופיעים התגים של התמונה. לוחצים על גרסת התמונה כדי לראות את המטא-נתונים, כולל תקציר התמונה.

מידע נוסף על תיוג מופיע במאמר בנושא תיוג תמונות.

פרויקטים בהיקף הדומיין

אם הפרויקט מוגבל לדומיין שלכם, מזהה הפרויקט כולל את שם הדומיין ואחריו נקודתיים (:). בגלל האופן שבו Docker מתייחס לנקודתיים, כשמציינים תקציר של תמונה ב-Artifact Registry, צריך להחליף את הנקודתיים בקו נטוי. כדי לזהות תמונות בסוגי הפרויקטים האלה, משתמשים בפורמט הבא:

LOCATION-docker.pkg.dev/DOMAIN/PROJECT-ID/REPOSITORY/IMAGE@IMAGE-DIGEST

לדוגמה, הפרויקט עם המזהה example.com:my-project יכול לכלול את התמונה הבאה:

us-west1-docker.pkg.dev/example.com/my-project/my-repo/image-name

שמות המאגרים ככתובות URL

כדי לגשת למאגר או לארטיפקט במאגר במסוף Google Cloud , מוסיפים את הקידומת https:// לשם המלא שלו.

לדוגמה, כדי להציג את המאגר us-west1-maven.pkg.dev/my-project/my-repo, משתמשים בכתובת ה-URL הבאה:

https://us-west1-maven.pkg.dev/my-project/my-repo

כדי לראות את התמונה us-west1-docker.pkg.dev/example.com/my-project/my-repo/my-image, משתמשים בכתובת ה-URL הבאה:

https://us-west1-docker.pkg.dev/example.com/my-project/my-repo/my-image

כל משתמש מאומת שיש לו הרשאה לגשת למאגר יכול להשתמש בקישורים האלה.