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 di compilazione: utilizzata dall'immagine del generatore per creare l'ambiente di compilazione in cui viene eseguito il ciclo di vita del buildpack. È qui che la tua applicazione o funzione viene preparata per la contenimento.
- Esegui immagine: l'immagine di base da cui viene creata l'immagine container del servizio. Si tratta dell'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 la compilazione del servizio o per installare i pacchetti di sistema in modo che siano disponibili quando il servizio viene eseguito.
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 tua workstation. Docker viene utilizzato da
pack
come generatore di immagini OCI. - Installa Pack CLI.
- Installa lo strumento di controllo del codice sorgente Git per recuperare l'applicazione di esempio da GitHub.
Personalizzare le immagini di compilazione ed esecuzione
I buildpack utilizzano un'immagine del generatore per creare il servizio in un'immagine container. Al termine del processo di compilazione, l'applicazione o la funzione viene inserita in un'immagine di esecuzione. Scopri di più sulla processo di compilazione in Concetti di Buildpack.
Estensione dell'immagine del generatore
Per personalizzare l'immagine del generatore predefinita:
Crea un
builder.Dockerfile
personalizzato dall'immagine del generatore predefinita. Devi specificare il tag per la versione del builder che supporta l'immagine di base. 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 scelto per l'immagine del generatore personalizzato.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 dell'immagine del generatore personalizzato.
Estensione dell'immagine di esecuzione
Per personalizzare l'immagine del container di esecuzione predefinita:
Crea un
run.Dockerfile
personalizzato dall'immagine di esecuzione predefinita. Devi specificare il tag per la versione del builder che supporta l'immagine di esecuzione. 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 l'immagine della corsa personalizzata dal file
run.Dockerfile
:docker build -t RUN_IMAGE_NAME -f run.Dockerfile .
Sostituisci
RUN_IMAGE_NAME
con il nome che scegli per l'immagine della campagna personalizzata.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 scegli per l'immagine della funzione o dell'applicazione.RUN_IMAGE_NAME
con il nome dell'immagine di esecuzione personalizzata.