יצירת מאגר תגים נגזר

בדף הזה מוסבר איך ליצור קונטיינר נגזר על סמך אחד מקובצי האימג' הזמינים של Deep Learning Containers.

כדי לבצע את השלבים במדריך הזה, אפשר להשתמש ב-Cloud Shell או בכל סביבה שבה מותקן Google Cloud CLI.

לפני שמתחילים

לפני שמתחילים, חשוב לוודא שביצעתם את השלבים הבאים:

  1. משלימים את שלבי ההגדרה בקטע 'לפני שמתחילים' במאמר תחילת העבודה עם קונטיינר מקומי של למידה עמוקה.

  2. מוודאים שהחיוב מופעל בפרויקט Google Cloud .

    איך מפעילים את החיוב

  3. מפעילים את Artifact Registry API.

    הפעלת ה-API

התהליך

כדי ליצור קונטיינר נגזר, משתמשים בתהליך דומה לזה:

  1. יוצרים את קובץ ה-Dockerfile הראשוני ומריצים פקודות שינוי.

    כדי להתחיל, יוצרים קונטיינר של Deep Learning Containers באמצעות אחד מסוגי האימג' הזמינים. לאחר מכן משתמשים בפקודות של conda,‏ pip או Jupyter כדי לשנות את תמונת הקונטיינר בהתאם לצרכים.

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

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

יצירה של Dockerfile ראשוני והרצה של פקודות שינוי

משתמשים בפקודות הבאות כדי לבחור סוג של קובץ אימג' של Deep Learning Containers ולבצע שינוי קטן בקובץ האימג' של הקונטיינר. בדוגמה הזו אפשר לראות איך מתחילים עם תמונה של TensorFlow ומעדכנים את התמונה לגרסה האחרונה של TensorFlow. כותבים את הפקודות הבאות בקובץ Dockerfile:

FROM us-docker.pkg.dev/deeplearning-platform-release/gcr.io/tf-gpu:latest
# Uninstall the container's TensorFlow version and install the latest version
RUN pip install --upgrade pip && \
    pip uninstall -y tensorflow && \
    pip install tensorflow

יצירה והעברה בדחיפה של תמונת הקונטיינר

משתמשים בפקודות הבאות כדי ליצור את קובץ האימג' של הקונטיינר ולהעביר אותו בדחיפה אל Artifact Registry, שבו חשבון השירות של Google Compute Engine יכול לגשת אליו.

יוצרים את המאגר ומאמתים אותו:

export PROJECT=$(gcloud config list project --format "value(core.project)")
gcloud artifacts repositories create REPOSITORY_NAME \
    --repository-format=docker \
    --location=LOCATION
gcloud auth configure-docker LOCATION-docker.pkg.dev

מחליפים את מה שכתוב בשדות הבאים:

  • LOCATION: המיקום האזורי או הרב-אזורי של המאגר, לדוגמה us. כדי לראות רשימה של מיקומים נתמכים, מריצים את הפקודה gcloud artifacts locations list.
  • REPOSITORY_NAME: השם של המאגר שרוצים ליצור, לדוגמה my-tf-repo.

לאחר מכן, יוצרים את התמונה ושולחים אותה:

export IMAGE_NAME="LOCATION-docker.pkg.dev/${PROJECT}/REPOSITORY_NAME/tf-custom:v1"
docker build . -t $IMAGE_NAME
docker push $IMAGE_NAME