Knative serving accetta immagini container create con qualsiasi strumento in grado di
creando immagini container, purché rispettino il contratto del container.
In particolare, il codice deve ascoltare le richieste HTTP sulla porta definita
la variabile di ambiente PORT
. Questa variabile di ambiente PORT
è
inserite automaticamente da Knative serving nel tuo container.
In questa pagina vengono descritti i diversi modi per creare immagini container:
- Utilizzo di un Dockerfile
- Utilizzo di Buildpacks
Creazione con Dockerfile
Se utilizzi Dockerfile, puoi usare uno dei seguenti metodi per creare:
- Crea con Cloud Build
- Crea localmente con Docker
Creazione con Cloud Build
Per creare la tua 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, per ad esempio
gcr.io/cloudrun/hello
.
Per istruzioni dettagliate su Cloud Build, vedi Deployment in Knative serving.
Per suggerimenti su come migliorare le prestazioni delle build, consulta Velocizzare le build
Creazione in locale ed esecuzione di push con Docker
Se Docker hai installato in locale,
è possibile usare docker build
anziché utilizzare Cloud Build o Buildpacks.
Prima di creare le tue origini in un'immagine container ("containerizzazione") utilizzando Docker, ti serve Dockerfile presente lungo le tue sorgenti. Le seguenti istruzioni utilizzano Container Registry come registro di immagini.
Per creare la tua 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, per ad esempio
gcr.io/cloudrun/hello
.Se non hai ancora configurato Docker per utilizzare Google Cloud CLI per le richieste a Container Registry, eseguilo ora utilizzando il comando:
gcloud auth configure-docker
Devi eseguire questa operazione prima di eseguire il push o il pull delle immagini con Docker. Tu 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, per ad esempio
gcr.io/cloudrun/hello
.
Per escludere i file locali da questa procedura, segui le
File di configurazione di .dockerignore
instructions.
Creazione con Buildpacks
Per informazioni complete sui Buildpacks, consulta Sito web Buildpacks. Google offre un insieme Buildpack compatibili con CNCF che creano codice sorgente in immagini container progettate per eseguire sulle piattaforme di container di Google Cloud, tra cui 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 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.
Creazione con Buildpack mediante 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 per utilizzare Google Cloud CLI per le richieste a Container Registry, eseguilo ora utilizzando il comando:
gcloud auth configure-docker
Devi eseguire questa operazione prima di eseguire il push o il pull delle immagini con Docker. Tu farlo una sola volta.
Se non l'hai ancora fatto, installa
pack
.Vai alla cartella contenente le origini.
Esegui questo comando per creare il registro dei container ed eseguirne il push:
pack build --publish IMAGE_URL
Sostituisci IMAGE_URL con un riferimento all'immagine container, per ad esempio
gcr.io/cloudrun/hello
.Attendi il completamento di
pack
.
Per ulteriori informazioni, leggi le istruzioni alla pagina Creazione di un'applicazione.
Passaggi successivi
Per scoprire di più sul contratto, i container devono rispettare per poter eseguire il deployment a Knative serving, vedi Contratto relativo ai contenitori.
Per eseguire il deployment dei container creati in Knative serving: Deployment dei Servizi.
per automatizzare le build e i deployment di Knative serving utilizzando i trigger di Cloud Build, per configurare il deployment continuo.