Como criar contêineres

O Cloud Run aceita imagens de contêiner criadas com qualquer ferramenta capaz de compilar imagens de contêiner, desde que elas respeitem o contrato do contêiner. Especificamente, seu 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 Cloud Run 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

É possível compilar sua imagem no Google Cloud usando o Cloud Build:

  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, us-docker.pkg.dev/cloudrun/container/hello:latest;

Para dicas sobre como melhorar o desempenho do build, consulte Como acelerar os builds

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 junto às suas fontes. As amostras do Hello World contêm aplicativos de amostra e Dockerfiles em muitas linguagens conhecidas.

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

    Substitua IMAGE_URL por uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest.

  3. Se você ainda não configurou o Docker para usar a ferramenta de linha de comando gcloud para autenticar solicitações ao 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

    Substitua IMAGE_URL por uma referência à imagem de contêiner. Por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest.

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 os Buildpacks, consulte o site do Buildpacks. O Google fornece um conjunto de pacotes de criação compatíveis com CNCF que compilam o código-fonte em imagens de contêiner projetadas para serem executadas em plataformas de contêiner do Google Cloud, incluindo o Cloud Run.

Estas 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 Buildpacks 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 ferramenta de linha de comando gcloud para autenticar solicitações ao 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, us-docker.pkg.dev/cloudrun/container/hello:latest.

  6. Aguarde a conclusão de pack.

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

A seguir