Creazione di container

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:

  1. Vai alla cartella contenente le origini e il Dockerfile.

  2. 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:

  1. Vai alla cartella contenente le origini e Dockerfile.

  2. Esegui il comando:

    docker build . --tag IMAGE_URL

    Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio gcr.io/cloudrun/hello.

  3. 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.

  4. 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:

  1. Vai alla cartella contenente le fonti.

  2. 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.

  3. Attendi il completamento della build.

Creare con Buildpack utilizzando la riga di comando pack

Per la creazione utilizzando il comando pack:

  1. Se non l'hai ancora fatto, installa Docker.

  2. 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.

  3. Se non l'hai ancora fatto, installa pack.

  4. Vai alla cartella contenente le fonti.

  5. 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.

  6. 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.