Buildpack utilizza un builder predefinito, costituito da tutti i componenti necessari per eseguire una compilazione del servizio, incluse un'immagine di compilazione e di esecuzione:
- Immagine build: utilizzata dall'immagine del builder per creare l'ambiente di build in cui i buildpack ciclo di vita viene eseguito. È qui che viene preparata l'applicazione o la funzione containerizzazione.
- Esegui immagine: l'immagine di base da cui viene creata l'immagine container del servizio. Questa è l'immagine che ospita l'applicazione o la funzione creata.
Entrambe le immagini possono essere personalizzate ed estese in base alle tue esigenze. Ad esempio, puoi personalizzare le immagini per aggiungere i pacchetti necessari per creare il tuo o installare pacchetti di sistema in modo che siano disponibili quando dell'esecuzione del servizio.
Prima di iniziare
Utilizza l'interfaccia a riga di comando pack
per creare localmente il servizio in un'immagine container.
Prima di iniziare
- Installa Docker Community Edition (CE)
sulla workstation. Docker viene utilizzato da
pack
come generatore di immagini OCI. - Installa l'interfaccia a riga di comando Pack.
- Installa il controllo del codice sorgente Git per recuperare l'applicazione di esempio da GitHub.
Personalizza la build ed esegui le immagini
I buildpack utilizzano un'immagine del generatore per creare il servizio in un'immagine container. Al termine del processo di compilazione, viene inserita in un'immagine di esecuzione. Scopri di più sul processo di compilazione alla pagina Buildpacks Concepts.
Estensione dell'immagine del generatore
Per personalizzare l'immagine del builder predefinita:
Crea un elemento
builder.Dockerfile
personalizzato dall'immagine del builder predefinita. Tu devi specificare il tag del builder che supporti la tua base dell'immagine. Ad esempio, il tag immagine base:v1
non è supportato dal tag del generatore:google-22
.Esempio:
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
Crea l'immagine del generatore personalizzato dal file
builder.Dockerfile
:docker build -t BUILDER_IMAGE_NAME -f builder.Dockerfile .
Sostituisci
BUILDER_IMAGE_NAME
con il nome che hai scelto per la tua personalizzata Builder.Esegui il
pack build
comando con l'immagine del generatore personalizzato per creare la nuova immagine del container della tua applicazione o funzione:pack build SERVICE_IMAGE_NAME --builder BUILDER_IMAGE_NAME
Sostituisci:
SERVICE_IMAGE_NAME
con il nome che hai scelto per l'immagine dell'applicazione o della funzione.BUILDER_IMAGE_NAME
con il nome della tua personalizzata Builder.
Estensione dell'immagine di esecuzione
Per personalizzare l'immagine container di esecuzione predefinita:
Crea un elemento
run.Dockerfile
personalizzato dall'immagine di esecuzione predefinita. Tu devi specificare il tag del builder che supporta la tua esecuzione dell'immagine. Ad esempio, il tag immagine di esecuzione:v1
non è supportato dal tag del generatore:google-22
.Esempio:
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
Crea la tua immagine di esecuzione personalizzata dal file
run.Dockerfile
:docker build -t RUN_IMAGE_NAME -f run.Dockerfile .
Sostituisci
RUN_IMAGE_NAME
con il nome che hai scelto per la tua corsa personalizzata dell'immagine.Esegui il
pack build
comando con l'immagine di esecuzione personalizzata per creare la nuova immagine container della tua applicazione o funzione:pack build SERVICE_IMAGE_NAME --builder gcr.io/buildpacks/builder:v1 --run-image RUN_IMAGE
Sostituisci:
SERVICE_IMAGE_NAME
con il nome che hai scelto per la tua applicazione oppure dell'immagine della funzione.RUN_IMAGE_NAME
con il nome dell'immagine di esecuzione personalizzata.