Creazione di container

Knative serving accetta immagini container create con qualsiasi strumento in grado di creare immagini container, purché rispettino il contratto del container. In particolare, il codice deve ascoltare le richieste HTTP sulla porta definita dalla variabile di ambiente PORT. Questa variabile di ambiente PORT viene inserita 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:

  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 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 hai Docker installato in locale, puoi utilizzare docker build anziché Cloud Build o Buildpacks.

Prima di creare le tue origini in un'immagine container ("containerizzazione") utilizzando Docker, è necessario che sia presente un Dockerfile insieme alle origini. Nelle istruzioni seguenti viene utilizzato Container Registry come registro di immagini.

Per creare la tua 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 per l'utilizzo di Google Cloud CLI per autenticare le richieste verso Container Registry, per farlo ora utilizzando il comando:

    gcloud auth configure-docker

    Devi eseguire questa operazione prima di eseguire il push o il pull delle immagini con Docker. Dovrai eseguire questa operazione una sola 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 questo processo, segui le istruzioni per il file di configurazione di .dockerignore.

Creazione con Buildpacks

Per informazioni complete su Buildpacks, consulta il sito web di Buildpacks. Google fornisce un set di Buildpack compatibili con CNCF che creano codice sorgente in immagini container progettate per essere eseguite su piattaforme di container Google Cloud, tra cui Knative serving.

Al momento sono supportate le seguenti piattaforme:

  • Go
  • Node.js
  • Python
  • Java
  • .NET Core

Creare con Buildpacks utilizzando Cloud Build

Per creare con un Buildpack:

  1. Vai alla cartella contenente le origini.

  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.

Creazione con Buildpack mediante la riga di comando pack

Per creare utilizzando il comando pack:

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

  2. Se non hai ancora configurato Docker per l'utilizzo di Google Cloud CLI per autenticare le richieste verso Container Registry, per farlo ora utilizzando il comando:

    gcloud auth configure-docker

    Devi eseguire questa operazione prima di eseguire il push o il pull delle immagini con Docker. Dovrai eseguire questa operazione una sola volta.

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

  4. Vai alla cartella contenente le origini.

  5. 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, ad esempio gcr.io/cloudrun/hello.

  6. Attendi il completamento di pack.

Per ulteriori informazioni, leggi le istruzioni in Creazione di un'applicazione.

Passaggi successivi

  • Per scoprire di più sul contratto che i container devono rispettare per eseguire il deployment su Knative serving, consulta Container Contract.

  • Per eseguire il deployment dei container creati in Knative serving, consulta la pagina relativa al 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.