בעזרת Artifact Registry תוכלו לארגן ולתחזק קובצי אימג' של קונטיינרים במאגרי Docker. אתם יכולים לבדוק את התוכן של המאגר, לעדכן או להסיר תגי גרסה ולמחוק גרסאות שלא בשימוש כדי להקטין את עלויות האחסון.
מידע על שליחה ומשיכה של תמונות זמין במאמר בנושא שליחה ומשיכה של תמונות.
לפני שמתחילים
- אם מאגר היעד לא קיים, צריך ליצור מאגר חדש.
- מוודאים שיש לכם את ההרשאות הנדרשות למאגר.
- (אופציונלי) הגדרת ברירות מחדל לפקודות gcloud.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לניהול תמונות, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים במאגר:
-
צפייה בתמונות, בקבצים בתמונות ובתגים:
Artifact Registry Reader (
roles/artifactregistry.reader) -
תיוג תמונות או עריכת תגים באמצעות Artifact Registry:
Artifact Registry Writer (
roles/artifactregistry.writer) -
מחיקת תמונות או הסרת תגים:
אדמין של מאגר Artifact Registry (
roles/artifactregistry.repoAdmin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
תמונות של כרטיסי מוצר
מצבי מאגר: standard
אפשר לרשום את התמונות באמצעות Google Cloud console או ה-CLI של gcloud.
המסוף
כדי לראות תמונות במאגר:
פותחים את הדף Repositories במסוף Google Cloud .
לוחצים על המאגר עם קובץ אימג' של קונטיינר.
לוחצים על תמונה כדי לראות את הגרסאות שלה.
gcloud
כדי להצי�� ��שימ�� ��ל כ�� ��תמונות בפרויקט, במאגר ובמיקום שמוגדרים כברירת מחדל כשערכי ברירת המחדל מוגדרים:
gcloud artifacts docker images list
כדי להציג רשימה של תמונות במאגר במיקום ספציפי, מריצים את הפקודה:
gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY
כדי להציג רשימה של כל התקצירים והתגים של תמונה ספציפית, מריצים את הפקודה:
gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE \
--include-tags
מחליפים את הערכים הבאים:
- LOCATION הוא המיקום האזורי של המאגר.
- PROJECT הוא Google Cloud מזהה הפרויקט.
- REPOSITORY הוא שם המאגר שבו מאוחסן האימג'.
- IMAGE הוא שם האימג' במאגר.
--include-tagsמציג את כל הגרסאות של התמונות, כולל תקצירים ותגים. אם לא מציינים את הדגל הזה, הרשימה שמוחזרת כוללת רק תמונות של מאגרי תגים ברמה העליונה.
לדוגמה, תמונה עם המאפיינים הבאים:
- מיקום המאגר:
- שם המאגר:
my-repo - מזהה הפרויקט:
my-project - שם התמונה:
my-image
השם המלא של המאגר הוא:
-docker.pkg.dev/my-project/my-repo
השם המלא של התמונה הוא:
-docker.pkg.dev/my-project/my-repo/my-image
פרטים על פורמט השם של התמונה זמינים במאמר שמות של מאגרי תמונות ותמונות.
מרכיב רשימת קבצים
מצבי מאגר: standard
אתם יכולים לראות רשימה של קבצים במאגר, קבצים בכל הגרסאות של קובץ אימג' של קונטיינר ספציפי או קבצים בגרסה ספציפית של קובץ אימג'.
בכל הפקודות הבאות, אפשר להגדיר מספר מקסימלי של קבצים להחזרה על ידי הוספת הדגל --limit לפקודה.
כדי להציג רשימה של כל הקבצים בפרויקט, במאגר ובמיקום שמוגדרים כברירת מחדל כשמוגדרים ערכי ברירת מחדל:
gcloud artifacts files list
כדי לראות את רשימת הקבצים בפרויקט, במאגר ובמיקום שצוינו, מריצים את הפקודה:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION
כדי להציג רשימה של קבצים ��כ�� ה��רסאות של קובץ אימג' ספציפי של מאגר:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE
כדי להציג רשימה של קבצים בגרסה ספציפית של אימג' של קונטיינר:
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--version=VERSION
gcloud artifacts files list \
--project=PROJECT \
--repository=REPOSITORY \
--location=LOCATION \
--package=PACKAGE \
--tag=TAG
מחליפים את הערכים הבאים:
-
LOCATION: המיקום האזורי של המאגר. -
PROJECT: Google Cloud מזהה הפרויקט. -
REPOSITORY: השם של המאגר שבו התמונה מאוחסנת. -
PACKAGE: שם התמונה. -
VERSION: תקציר האימג', מחרוזת שמתחילה ב-sha256:. -
TAG: התג שמשויך לקובץ האימג' של הקונטיינר.
דוגמאות
לדוגמה, נניח שיש לכם את פרטי התמונה הבאים:
- פרויקט:
my-project - מאגר:
my-repo - מיקום המאגר:
- תמונה:
my-app
הפקודה הבאה מציגה רשימה של כל הקבצים במאגר my-repo במיקום בתוך פרויקט ברירת המחדל:
gcloud artifacts files list \
--location= \
--repository=my-repo
sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356
gcloud artifacts files list \
--project=my-project \
--location= \
--repository=my-repo \
--package=my-app \
--version=sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356
1.0-dev
gcloud artifacts files list \
--project=my-project \
--location= \
--repository=my-repo \
--package=my-app \
--tag=1.0-dev
תיוג תמונות
אפשר לתייג תמונות קיימות במאגר Artifact Registry, או לתייג אותן לפני שמעלים אותן למאגר.
תיוג תמונות במאגר
מצבי מאגר: standard
אפשר להוסיף תג לתמונה במאגר של Artifact Registry באמצעותGoogle Cloud console או שורת הפקודה. במאגר, התגים הם ייחודיים לגרסה של תמונה. לכן, אם יש לכם כמה גרסאות של תמונה, כל תג חל רק על אחת מהגרסאות. אם מתייגים תמונה בתג שכבר נמצא בשימוש, התג יועבר מהגרסה המקורית לגרסה החדשה המתויגת.
המסוף
כדי לתייג תמונה במאגר:
פותחים את הדף Repositories במסוף Google Cloud .
לוחצים על התמונה כדי לראות גרסאות שונות שלה.
בוחרים את גרסת התמונה לתיוג.
בשורה של הגרסה שנבחרה, לוחצים על פעולות נוספות (
) ואז על עריכת תגים.מקלידים תגים חדשים בשדה ולוחצים על שמירה.
gcloud
כדי לתייג תמונות במאגר, מציינים את גרסת התמונה באמצעות התקציר או התג של התמונה, ואז מציינים את התג שרוצים להוסיף. מריצים אחת מהפקודות הבאות:
gcloud artifacts docker tags add IMAGE-VERSION TAG
כאשר:
-
IMAGE-VERSIONהוא השם המלא של גרסת התמונה שרוצים לתייג, באמצעות תקציר התמונה או תג קיים בגרסת התמונה. -
TAGהוא השם המלא של התג שרוצים להוסיף.
לדוגמה, תמונה עם המאפיינים הבאים:
- מיקום המאגר:
- שם המאגר:
my-repo - מזהה הפרויקט:
my-project - שם התמונה:
my-image - תג קיים:
iteration6-final - תג להוספה:
release-candidate
כדי להוסיף את התג release-candidate לגרסה של התמונה עם התג iteration6-final, מריצים את הפקודה הבאה:
gcloud artifacts docker tags add \
-docker.pkg.dev/my-project/my-repo/my-image:iteration6-final \
-docker.pkg.dev/my-project/my-repo/my-image:release-candidate
פרטים על הפורמט של שם התמונה מופיעים במאמר בנושא שמות של מאגרים ותמונות.
תיוג תמונות מקומיות
כדי להעביר בדחיפה קובץ אימג' מקומי אל Artifact Registry, צריך קודם לתייג אותו בשם המאגר ואז להעביר את קובץ האימג' בדחיפה. הוראות מפורטות מופיעות במאמר בנושא דחיפה ומשיכה.
ביטול התיוג של תמונות
מצבי מאגר: standard
אפשר להסיר תג מתמונה ב-Artifact Registry באמצעות הפקודה Google Cloud console או באמצעות שורת הפקודה.
המסוף
פותחים את הדף Repositories במסוף Google Cloud .
לוחצים על התמונה כדי לראות גרסאות שונות שלה.
בוחרים את גרסת התמונה שרוצים לבטל את התיוג שלה.
בשורה של הגרסה שנבחרה, לוחצים על פעולות נוספות (
) ואז על עריכת תגים.מוחקים את התג ולוחצים על שמירה.
gcloud
כדי למחוק תג ולהסיר אותו מהתמונה, מריצים את הפקודה הבאה:
gcloud artifacts docker tags delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE:TAG
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATIONהוא המיקום האזורי של המאגר. -
PROJECTהוא Google Cloud מזהה הפרויקט. -
REPOSITORYהוא שם המאגר שבו מאוחסן האימג'. -
IMAGEהוא שם האימג' במאגר. -
TAGהוא התג של הגרסה שרוצים למחוק.
מחיקת תמונות
מצבי מאגר: standard
אפשר למחוק תמונה שלמה של מאגר או למחוק גרסה ספציפית של תמונה שמשויכת לתג או ל-digest. הסרה של תמונות שלא בשימוש יכולה לעזור לכם לצמצם את עלויות האחסון.
- אחרי שמוחקים תמונה, אי אפשר לבטל את הפעולה.
- כשמוחקים תמונות, השכבות שאליהן הן מפנות לא נמחקות מיד. שכבות שלא נעשה בהן שימוש נמחקות מדי יום.
כדי למחוק תמונות ממסוף Google Cloud או מה-CLI של gcloud:
המסוף
פותחים את הדף Repositories במסוף Google Cloud .
לוחצים על שם התמונה כדי לראות את הגרסאות שלה.
בוחרים את הגרסאות שרוצים למחוק.
לוחצים על מחיקה.
בתיבת הדו-שיח לאי��ור, לוחצים על מחיקה.
gcloud
כדי למחוק תמונה ואת כל התגים שלה, מריצים את הפקודה:
gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE --delete-tags
כדי למחוק גרסת תמונה ספציפית, משתמשים באחת מהפקודות הבאות.
gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE:TAG [--delete-tags]
או
gcloud artifacts docker images delete LOCATION-docker.pkg.dev/PROJECT/REPOSITORY/IMAGE@IMAGE-DIGEST [--delete-tags]
כאשר:
- LOCATION הוא המיקום האזורי של המאגר.
- PROJECT הוא Google Cloud מזהה הפרויקט.
- REPOSITORY הוא שם המאגר שבו מאוחסן האימג'.
- IMAGE הוא שם האימג' במאגר.
- TAG הוא התג של הגרסה שרוצים למחוק. אם כמה תגים משויכים לאותה גרסת תמונה, צריך לכלול את התג
--delete-tagsכדי למחוק את גרסת התמונה בלי להסיר קודם את התגים. - IMAGE-DIGEST הוא ערך הגיבוב (hash) לפי SHA256 של הגרסה שרוצים למחוק. אם תג משויך לתקציר התמונה, צריך לכלול את
--delete-tagsכדי למחוק את גרסת התמונה בלי להסיר קודם את התג. -
--delete-tagsמסיר את כל התגים שנוספו לגרסת התמונה. הדגל הזה מאפשר למחוק גרסת תמונה בכוח במקרים הבאים:- ציינתם תג, אבל יש תגים אחרים שמשויכים לגרסת התמונה.
- ציינתם תקציר תמונה שיש לו לפחות תג אחד.