Creazione di container

Knative pubblicazione accetta immagini container create con qualsiasi strumento in grado di creare immagini container, a condizione che rispettino il contratto del 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 nel container dalla pubblicazione Knative.

In questa pagina vengono descritti diversi modi per creare immagini container:

  • Utilizzo di un Dockerfile
  • Utilizzo di Buildpacks

Creazione con Dockerfile

Se utilizzi Dockerfile, puoi utilizzare uno dei seguenti metodi per creare:

  • Crea con Cloud Build
  • Crea localmente utilizzando Docker

Creazione con Cloud Build

Per creare un'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 sulla gestione di Knative.

Per suggerimenti su come migliorare le prestazioni delle build, consulta Velocizzare le build.

Creazione in locale e push con Docker

Se hai Docker installato in locale, puoi utilizzare docker build anziché utilizzare Cloud Build o Buildpacks.

Prima di creare le 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 delle 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 in Container Registry, fallo ora utilizzando il comando:

    gcloud auth configure-docker

    È necessario eseguire questa operazione prima di eseguire il push o il pull delle immagini utilizzando Docker. Devi farlo 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 dal processo, segui le istruzioni relative al file di configurazione .dockerignore.

Creazione con Buildpacks

Per informazioni complete su Buildpacks, visita il sito web Buildpacks. Google fornisce un set di Buildpack compatibili con CNCF che creano il codice sorgente in immagini container progettate per l'esecuzione su piattaforme container di Google Cloud, inclusa la pubblicazione Knative.

Attualmente sono supportate le seguenti piattaforme:

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

Creazione con Buildpacks mediante 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.

Creare con Buildpack mediante la riga di comando pack

Per creare utilizzando il comando pack:

  1. Se non lo hai già fatto, installa Docker.

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

    gcloud auth configure-docker

    È necessario eseguire questa operazione prima di eseguire il push o il pull delle immagini utilizzando Docker. Devi farlo una sola volta.

  3. Se non lo hai già fatto, installa pack.

  4. Vai alla cartella contenente le origini.

  5. Esegui questo comando per creare ed eseguire il push al 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, consulta le istruzioni riportate in Creazione di un'applicazione.

Passaggi successivi

  • Per scoprire di più sul contratto che i container devono rispettare per essere eseguito il deployment nella pubblicazione Knative, consulta la pagina Contratto container.

  • Per eseguire il deployment dei container creati nella gestione di Knative, vedi Deployment dei servizi.

  • Per automatizzare le build e i deployment dei servizi di pubblicazione Knative utilizzando i trigger di Cloud Build, configura il deployment continuo.