Knative serving accetta immagini container create con qualsiasi strumento in grado di
creare immagini container, purché 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
Creare mediante un Dockerfile
Se utilizzi i Dockerfile, puoi utilizzare uno dei seguenti metodi per creare:
- Crea mediante Cloud Build
- Crea localmente utilizzando Docker
Creare mediante Cloud Build
Per creare l'immagine 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 Eseguire il deployment in Knative serving.
Per suggerimenti su come migliorare le prestazioni della build, consulta Velocizzare le build.
Creare ed eseguire il push localmente utilizzando Docker
Se hai installato Docker localmente, puoi utilizzare docker buildanziché Cloud Build o Buildpacks.
Prima di creare un'immagine container ("containerizzare") dalle origini utilizzando Docker, devi avere un Dockerfile 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 il
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 una sola 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
.dockerignore istruzioni del file di configurazione.
Creare mediante i buildpack
Per informazioni complete sui buildpack, consulta il sito web dei buildpack. Google fornisce un insieme di buildpack compatibili con CNCF che creano codice sorgente in immagini container progettate per essere eseguite su Google Cloud piattaforme container, tra cui Knative serving.
Queste piattaforme sono attualmente supportate:
- Vai
- Node.js
- Python
- Java
- .NET Core
Creare con i buildpack utilizzando Cloud Build
Per creare con un buildpack:
Vai alla cartella contenente le origini.
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 il buildpack utilizzando la riga di comando pack
Per creare 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 una sola volta.
Se non l'hai ancora fatto, installa
pack.Vai alla cartella contenente le origini.
Esegui il seguente comando per creare ed eseguire il push nel registro container:
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 in Creare un'applicazione.
Passaggi successivi
Per scoprire di più sul contratto che i container devono rispettare per essere sottoposti a deployment in Knative serving, consulta Contratto container.
Per eseguire il deployment dei container creati in Knative serving, segui Eseguire il deployment dei servizi.
Per automatizzare le build e i deployment dei servizi Knative serving utilizzando i trigger di Cloud Build, configura il deployment continuo.