הגדרת קובצי האימג' ל-build ולהרצה

ב-buildpacks משתמשים בברירת מחדל ל-builder עם כל מה שצריך כדי להפעיל build לשירות שלכם, כולל קובצי אימג' ל-build ולהרצה:

  • קובץ אימג' ל-build: משמש את האימג' של ה-builder ליצירת סביבת build שבה מופעל מחזור החיים של ה-buildpacks. כאן האפליקציה או הפונקציה שלכם עוברות הכנה ליצירת קונטיינרים.
  • קובץ אימג' להרצה: הבסיס שממנו נוצר קובץ האימג' של הקונטיינר. באימג' הזה מתארחת גרסת ה-build של האפליקציה או הפונקציה.

אתם יכולים להתאים אישית ולהרחיב את שני קובצי האימג' לפי הצורך. לדוגמה, תוכלו להוסיף חבילות שאתם צריכים ליצירת השירות, או להתקין חבילות מערכת שיהיו זמינות כשהשירות שלכם ירוץ.

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

צריך להשתמש ב-‎CLI pack כדי ליצור מקומית את השירות בתוך קובץ אימג' של קונטיינר.

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

  1. מתקינים את Docker Community Edition (CE)‎ בתחנת העבודה. ‏Docker משמש את pack ליצירת קובצי אימג' של OCI.
  2. מתקינים את Pack CLI.
  3. מתקינים את הכלי Git source control כדי שתהיה אפשרות לטעון אפליקציות לדוגמה מ-GitHub.

התאמה אישית של קובצי האימג' ל-build ולהרצה

קובצי האימג' של ה-builder משמשים ב-buildpacks ליצירת קובץ אימג' של קונטיינר לשירות. בסיום תהליך ה-build, האפליקציה או הפונקציה מוכנסות לקובץ אימג' להרצה. בהסבר על מושגי Buildpack תוכלו לקרוא בהרחבה על תהליך ה-build.

הרחבת קובץ האימג' של ה-builder

כדי להתאים אישית את קובץ ברירת המחדל לאימג' של ה-builder:

  1. יוצרים builder.Dockerfile בהתאמה אישית מקובץ ברירת המחדל לאימג' של ה-builder. חשוב לציין את התג של גרסת ה-builder שתומכת בקובץ האימג' הבסיסי. לדוגמה, התג :v1 של קובץ האימג' הבסיסי לא נתמך על ידי התג :google-22 של ה-builder.

    דוגמה:

    FROM gcr.io/buildpacks/builder
    USER root
    RUN apt-get update && apt-get install -y --no-install-recommends \
      subversion && \
      apt-get clean && \
      rm -rf /var/lib/apt/lists/*
    USER cnb
    
  2. יוצרים קובץ אימג' ל-builder בהתאמה אישית מהקובץ builder.Dockerfile:

    docker build -t BUILDER_IMAGE_NAME -f builder.Dockerfile .
    

    מחליפים את BUILDER_IMAGE_NAME בשם שבוחרים לאימג' בהתאמה אישית של ה-builder.

  3. מריצים את הפקודה pack build עם קובץ האימג' בהתאמה אישית של ה-builder כדי ליצור את קובץ האימג' החדש של הקונטיינר של האפליקציה או הפונקציה:

    pack build SERVICE_IMAGE_NAME --builder BUILDER_IMAGE_NAME
    

    מחליפים את:

    • SERVICE_IMAGE_NAME בשם שבחרתם לקובץ האימג' של האפליקציה או הפונקציה.
    • BUILDER_IMAGE_NAME בשם של קובץ האימג' בהתאמה אישית של ה-builder.

הרחבת קובץ האימג' של ההרצה

כדי להתאים אישית את קובץ ברירת המחדל לאימג' של ההרצה:

  1. יוצרים run.Dockerfile בהתאמה אישית מקובץ ברירת המחדל לאימג' של ההרצה. חשוב לציין את התג של גרסת ה-builder שתומכת בקובץ האימג' של ההרצה. לדוגמה, התג :v1 של קובץ האימג' של ההרצה לא נתמך על ידי התג :google-22 של ה-builder.

    דוגמה:

    FROM gcr.io/buildpacks/gcp/run
    USER root
    RUN apt-get update && apt-get install -y --no-install-recommends \
      imagemagick && \
      apt-get clean && \
      rm -rf /var/lib/apt/lists/*
    USER 33:33
    
  2. יוצרים קובץ אימג' להרצה בהתאמה אישית מהקובץ run.Dockerfile:

    docker build -t RUN_IMAGE_NAME -f run.Dockerfile .
    

    מחליפים את RUN_IMAGE_NAME בשם שבוחרים לאימג' בהתאמה אישית של ההרצה.

  3. מריצים את הפקודה pack build עם קובץ אימג' הרצה בהתאמה אישית כדי ליצור את קובץ אימג' הקונטיינר החדש של האפליקציה או הפונקציה:

    pack build SERVICE_IMAGE_NAME --builder gcr.io/buildpacks/builder:v1 --run-image RUN_IMAGE
    

    מחליפים את:

    • SERVICE_IMAGE_NAME בשם שבחרתם לקובץ האימג' של האפליקציה או הפונקציה.
    • RUN_IMAGE_NAME בשם של קובץ האימג' בהתאמה אישית של ההרצה.