ב-buildpacks משתמשים בברירת מחדל ל-builder עם כל מה שצריך כדי להפעיל build לשירות שלכם, כולל קובצי אימג' ל-build ולהרצה:
- קובץ אימג' ל-build: משמש את האימג' של ה-builder ליצירת סביבת build שבה מופעל מחזור החיים של ה-buildpacks. כאן האפליקציה או הפונקציה שלכם עוברות הכנה ליצירת קונטיינרים.
- קובץ אימג' להרצה: הבסיס שממנו נוצר קובץ האימג' של הקונטיינר. באימג' הזה מתארחת גרסת ה-build של האפליקציה או הפונקציה.
אתם יכולים להתאים אישית ולהרחיב את שני קובצי האימג' לפי הצורך. לדוגמה, תוכלו להוסיף חבילות שאתם צריכים ליצירת השירות, או להתקין חבילות מערכת שיהיו זמינות כשהשירות שלכם ירוץ.
לפני שמתחילים
צריך להשתמש ב-CLI pack כדי ליצור מקומית את השירות בתוך קובץ אימג' של קונטיינר.
לפני שמתחילים
- מתקינים את Docker Community Edition (CE) בתחנת העבודה. Docker משמש את
packליצירת קובצי אימג' של OCI. - מתקינים את Pack CLI.
- מתקינים את הכלי Git source control כדי שתהיה אפשרות לטעון אפליקציות לדוגמה מ-GitHub.
התאמה אישית של קובצי האימג' ל-build ולהרצה
קובצי האימג' של ה-builder משמשים ב-buildpacks ליצירת קובץ אימג' של קונטיינר לשירות. בסיום תהליך ה-build, האפליקציה או הפונקציה מוכנסות לקובץ אימג' להרצה. בהסבר על מושגי Buildpack תוכלו לקרוא בהרחבה על תהליך ה-build.
הרחבת קובץ האימג' של ה-builder
כדי להתאים אישית את קובץ ברירת המחדל לאימג' של ה-builder:
יוצרים
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יוצרים קובץ אימג' ל-builder בהתאמה אישית מהקובץ
builder.Dockerfile:docker build -t BUILDER_IMAGE_NAME -f builder.Dockerfile .מחליפים את
BUILDER_IMAGE_NAMEבשם שבוחרים לאימג' בהתאמה אישית של ה-builder.מריצים את הפקודה
pack buildעם קובץ האימג' בהתאמה אישית של ה-builder כדי ליצור את קובץ האימג' החדש של הקונטיינר של האפליקציה או הפונקציה:pack build SERVICE_IMAGE_NAME --builder BUILDER_IMAGE_NAMEמחליפים את:
SERVICE_IMAGE_NAMEבשם שבחרתם לקובץ האימג' של האפליקציה או הפונקציה.BUILDER_IMAGE_NAMEבשם של קובץ האימג' בהתאמה אישית של ה-builder.
הרחבת קובץ האימג' של ההרצה
כדי להתאים אישית את קובץ ברירת המחדל לאימג' של ההרצה:
יוצרים
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יוצרים קובץ אימג' להרצה בהתאמה אישית מהקובץ
run.Dockerfile:docker build -t RUN_IMAGE_NAME -f run.Dockerfile .מחליפים את
RUN_IMAGE_NAMEבשם שבוחרים לאימג' בהתאמה אישית של ההרצה.מריצים את הפקודה
pack buildעם קובץ אימג' הרצה בהתאמה אישית כדי ליצור את קובץ אימג' הקונטיינר החדש של האפליקציה או הפונקציה:pack build SERVICE_IMAGE_NAME --builder gcr.io/buildpacks/builder:v1 --run-image RUN_IMAGEמחליפים את:
SERVICE_IMAGE_NAMEבשם שבחרתם לקובץ האימג' של האפליקציה או הפונקציה.RUN_IMAGE_NAMEבשם של קובץ האימג' בהתאמה אישית של ההרצה.