Contêineres de criação

O Knative serving aceita imagens de contêiner criadas com qualquer ferramenta capaz de criar imagens de contêiner, desde que elas respeitem o contrato do contêiner. Especificamente, o código precisa detectar solicitações HTTP na porta definida pela variável de ambiente PORT. Essa variável de ambiente PORT é injetada automaticamente pelo Knative serving no contêiner.

Nesta página, você verá várias maneiras de criar imagens de contêiner:

  • usando um Dockerfile;
  • e usando o Buildpacks.

Como criar usando um Dockerfile

Se você usa Dockerfiles, use um dos seguintes métodos para criar:

  • Criar usando o Cloud Build.
  • Criar localmente usando o Docker.

Como criar usando o Cloud Build

Para criar a imagem no Google Cloud:

  1. Navegue até a pasta que contém suas fontes e o Dockerfile.

  2. Execute o comando:

    gcloud builds submit --tag IMAGE_URL

    IMAGE_URL por uma referência à imagem de contêiner, por exemplo, gcr.io/cloudrun/hello;

Para instruções detalhadas do Cloud Build, consulte Como implantar no Knative serving.

Para dicas sobre como melhorar o desempenho da compilação, consulte Como acelerar suas compilações.

Como criar localmente e enviar usando o Docker

Se você tiver o Docker instalado localmente, use docker build em vez de usar o Cloud Build ou o Buildpacks.

Antes de criar as origens em uma imagem de contêiner ("contentorização") usando o Docker, é preciso que um Dockerfile esteja presente nas origens. As instruções a seguir usam o Container Registry como o registro de imagens.

Para criar a imagem de contêiner usando o Docker, siga estas etapas:

  1. Navegue até a pasta que contém suas origens e Dockerfile.

  2. Execute o comando:

    docker build . --tag IMAGE_URL

    IMAGE_URL por uma referência à imagem de contêiner, por exemplo, gcr.io/cloudrun/hello;

  3. Se você ainda não configurou o Docker para usar a CLI do Google Cloud na autenticação de solicitações para o Container Registry, faça isso agora usando o comando:

    gcloud auth configure-docker

    É preciso fazer isso antes de enviar ou receber imagens usando o Docker. Não será necessário repetir essa ação.

  4. Para enviar a imagem de contêiner para o Container Registry:

    docker push IMAGE_URL

    IMAGE_URL por uma referência à imagem de contêiner, por exemplo, gcr.io/cloudrun/hello;

Para excluir os arquivos locais desse processo, siga as instruções do arquivo de configuração .dockerignore.

Como criar usando o Buildpacks

Para ver as informações completas sobre o Buildpacks, consulte o site do Buildpacks (em inglês). O Google fornece um conjunto de pacotes de criação compatíveis com CNCF que criam o código-fonte em imagens de contêiner projetadas para serem executadas em plataformas de contêiner do Google Cloud, incluindo o Knative serving.

As seguintes plataformas são compatíveis no momento:

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

Como criar com o Buildpacks usando o Cloud Build

Para criar com um Buildpack:

  1. Navegue até a pasta que contém as origens.

  2. Execute o comando:

    gcloud builds submit --pack image=IMAGE_URL

    Substitua IMAGE_URL pelo URL da imagem de contêiner. Por exemplo, gcr.io/myproject/myservice.

  3. Aguarde a conclusão da criação.

Como criar com o Buildpack usando a linha de comando pack

Para criar usando o comando pack:

  1. Instale o Docker (em inglês), caso ainda não tenha instalado.

  2. Se você ainda não configurou o Docker para usar a CLI do Google Cloud na autenticação de solicitações para o Container Registry, faça isso agora usando o comando:

    gcloud auth configure-docker

    É preciso fazer isso antes de enviar ou receber imagens usando o Docker. Não será necessário repetir essa ação.

  3. Instale o pack (em inglês), caso ainda não tenha feito isso.

  4. Navegue até a pasta que contém as origens.

  5. Execute este comando para criar e enviar para o Container Registry:

    pack build --publish IMAGE_URL

    Substitua IMAGE_URL por uma referência à imagem de contêiner. Por exemplo, gcr.io/cloudrun/hello.

  6. Aguarde a conclusão de pack.

Para mais informações, leia as instruções em Como criar um aplicativo.

A seguir