Buildpacks verwendet einen Standard-Builder, der alle Komponenten, die zum Ausführen eines Dienstes erforderlich sind, sowie ein Build- und ein Run-Image umfasst:
- Build-Image: Wird vom Builder-Image verwendet, um die Build-Umgebung zu erstellen, in der der Lebenszyklus der Buildpacks ausgeführt wird. Hier ist die Anwendung oder Funktion für die Containerisierung vorbereitet.
- Run-Image: Das Basis-Image, aus dem das Container-Image Ihres Dienstes erstellt wird. Dies ist das Image, auf dem Ihre erstellte Anwendung oder Funktion gehostet wird.
Beide Images können an Ihre Anforderungen angepasst werden. Beispielsweise können Sie Images anpassen, um die für die Erstellung Ihres Dienstes erforderlichen Pakete hinzuzufügen oder Systempakete zu installieren, damit sie bei der Ausführung Ihres Dienstes verfügbar sind.
Hinweise
Sie verwenden die pack
-CLI, um Ihren Dienst lokal in einem Container-Image zu erstellen.
Hinweise
- Installieren Sie die Docker Community Edition (CE) auf Ihrer Workstation. Docker wird von
pack
als OCI-Image-Builder verwendet. - Installieren Sie die Pack-Befehlszeile.
- Installieren Sie das Tool Git Source Control, um die Beispielanwendung von GitHub herunterzuladen.
Build- und Run-Images anpassen
Buildpacks verwenden ein Builder-Image, um Ihren Dienst in einem Container-Image zu erstellen. Wenn der Build-Prozess abgeschlossen ist, wird Ihre Anwendung oder Funktion in ein Run-Image eingefügt. Weitere Informationen zum Build-Prozess finden Sie unter Konzepte der Buildpacks.
Builder-Image erweitern
So passen Sie das Standard-Builder-Image an:
Erstellen Sie aus dem Builder-Standard-Image ein benutzerdefiniertes
builder.Dockerfile
. Sie müssen das Tag für die Version des Builders angeben, die Ihr Basis-Image unterstützt. Beispiel: Das Basis-Image-Tag:v1
wird vom Builder-Tag:google-22
nicht unterstützt.Beispiel:
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
Erstellen Sie Ihr benutzerdefiniertes Builder-Image aus der Datei
builder.Dockerfile
:docker build -t BUILDER_IMAGE_NAME -f builder.Dockerfile .
Ersetzen Sie
BUILDER_IMAGE_NAME
durch den Namen, den Sie für Ihr benutzerdefiniertes Builder-Image auswählen.Führen Sie den Befehl
pack build
mit Ihrem benutzerdefinierten Builder-Image aus, um das neue Container-Image der Anwendung oder Funktion zu erstellen:pack build SERVICE_IMAGE_NAME --builder BUILDER_IMAGE_NAME
Ersetzen Sie:
SERVICE_IMAGE_NAME
durch den Namen, den Sie für das Anwendungs- oder Funktions-Image auswählen.BUILDER_IMAGE_NAME
durch den Namen Ihres benutzerdefinierten Builder-Images.
Ausführungs-Image erweitern
So passen Sie das Standard-Container-Image an:
Erstellen Sie ein benutzerdefiniertes
run.Dockerfile
aus dem Standard-Run-Image. Sie müssen das Tag für die Builder-Version angeben, die Ihr Run-Image unterstützt. Beispiel: Das Ausführungs-Image-Tag:v1
wird vom:google-22
-Builder-Tag nicht unterstützt.Beispiel:
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
Erstellen Sie Ihr benutzerdefiniertes Run-Image aus der Datei
run.Dockerfile
:docker build -t RUN_IMAGE_NAME -f run.Dockerfile .
Ersetzen Sie
RUN_IMAGE_NAME
durch den Namen, den Sie für Ihr benutzerdefiniertes Run-Image ausgewählt haben.Führen Sie den Befehl
pack build
mit Ihrem benutzerdefinierten Run-Image aus, um das neue Container-Image Ihrer Anwendung oder Funktion zu erstellen:pack build SERVICE_IMAGE_NAME --builder gcr.io/buildpacks/builder:v1 --run-image RUN_IMAGE
Ersetzen Sie:
SERVICE_IMAGE_NAME
durch den Namen, den Sie für Ihr Anwendungs- oder Funktions-Image auswählen.RUN_IMAGE_NAME
durch den Namen Ihres benutzerdefinierten Run-Images.