Knative Serving accetta immagini container create con qualsiasi strumento in grado di creare immagini container, a condizione che rispettino il contratto container.
In particolare, il codice deve rimanere in ascolto delle richieste HTTP sulla porta definita dalla variabile di ambiente PORT
. Questa variabile di ambiente PORT
viene
inserita automaticamente da Knative serving nel container.
Questa pagina descrive diversi modi per creare immagini container:
- Utilizzo di un Dockerfile
- Utilizzo dei buildpack
Creazione utilizzando un Dockerfile
Se utilizzi Dockerfile, puoi utilizzare uno dei seguenti metodi per la creazione:
- Creare utilizzando Cloud Build
- Creare in locale utilizzando Docker
Creare utilizzando Cloud Build
Per creare l'immagine su Google Cloud:
Vai alla cartella contenente le origini e il Dockerfile.
Esegui il comando:
gcloud builds submit --tag IMAGE_URL
Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio
gcr.io/cloudrun/hello
.
Per istruzioni dettagliate su Cloud Build, consulta Deployment su Knative serving.
Per suggerimenti su come migliorare il rendimento delle build, consulta Accelerare le build
Creazione in locale ed esecuzione del push utilizzando Docker
Se hai installato Docker localmente, puoi
utilizzare docker build
anziché Cloud Build o Buildpacks.
Prima di creare le origini in un'immagine container ("containerizzazione") utilizzando Docker, devi avere un Dockerfile presente insieme alle origini. Le seguenti istruzioni utilizzano Container Registry come registro delle immagini.
Per creare l'immagine container utilizzando Docker:
Vai alla cartella contenente le origini e
Dockerfile
.Esegui il comando:
docker build . --tag IMAGE_URL
Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio
gcr.io/cloudrun/hello
.Se non hai ancora configurato Docker in modo che utilizzi Google Cloud CLI per autenticare le richieste a Container Registry, fallo ora utilizzando il comando:
gcloud auth configure-docker
Devi eseguire questa operazione prima di poter eseguire il push o il pull delle immagini utilizzando Docker. Devi farlo solo una volta.
Esegui il push dell'immagine container in Container Registry:
docker push IMAGE_URL
Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio
gcr.io/cloudrun/hello
.
Per escludere i file locali da questa procedura, segui le istruzioni del
file di configurazione .dockerignore
.
Creare utilizzando Buildpacks
Per informazioni complete sui buildpack, visita il sito web Buildpacks. Google fornisce un insieme di buildpack compatibili con la CNCF che creano codice sorgente in immagini container progettate per essere eseguite su piattaforme container Google Cloud , incluso Knative Serving.
Al momento sono supportate le seguenti piattaforme:
- Vai
- Node.js
- Python
- Java
- .NET Core
Creare con Buildpacks utilizzando Cloud Build
Per creare con un buildpack:
Vai alla cartella contenente le fonti.
Esegui il comando:
gcloud builds submit --pack image=IMAGE_URL
Sostituisci IMAGE_URL con l'URL dell'immagine container, ad esempio
gcr.io/myproject/myservice
.Attendi il completamento della build.
Creare con Buildpack utilizzando la riga di comando pack
Per la creazione utilizzando il comando pack:
Se non l'hai ancora fatto, installa Docker.
Se non hai ancora configurato Docker in modo che utilizzi Google Cloud CLI per autenticare le richieste a Container Registry, fallo ora utilizzando il comando:
gcloud auth configure-docker
Devi eseguire questa operazione prima di poter eseguire il push o il pull delle immagini utilizzando Docker. Devi farlo solo una volta.
Se non l'hai ancora fatto, installa
pack
.Vai alla cartella contenente le fonti.
Esegui il comando seguente per creare ed eseguire il push nel container registry:
pack build --publish IMAGE_URL
Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio
gcr.io/cloudrun/hello
.Attendi il completamento di
pack
.
Per ulteriori informazioni, leggi le istruzioni nella sezione Creare un'applicazione.
Passaggi successivi
Per scoprire di più sul contratto che i tuoi container devono rispettare per essere sottoposti a deployment in Knative serving, consulta Contratto del container.
Per eseguire il deployment dei container creati in Knative serving, segui la procedura descritta in Deployment dei servizi.
Per automatizzare le build e i deployment dei tuoi servizi Knative Serving utilizzando i trigger di Cloud Build, configura il deployment continuo.