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

Antes de criar as origens em uma imagem de contêiner ("conteinerização") usando o Docker ou o Cloud Build, é preciso que um Dockerfile esteja presente nas origens. As amostras do Hello World contêm aplicativos de amostra e Dockerfiles em muitas linguagens conhecidas.

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; Se você usa o Artifact Registry, o repositório REPO_NAME já precisará ter sido criado. O URL tem o formato REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG

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.

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, us-docker.pkg.dev/cloudrun/container/hello:latest; Se você usa o Artifact Registry, o repositório REPO_NAME já precisará ter sido criado. O URL tem o formato REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG

  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. Envie a imagem do contêiner para um registro de contêiner compatível:

    docker push IMAGE_URL

    IMAGE_URL por uma referência à imagem de contêiner, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest; Se você usa o Artifact Registry, o repositório REPO_NAME já precisará ter sido criado. O URL tem o formato REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG

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

Como criar com os buildpacks do Google Cloud

Os buildpacks do Google Cloud são um conjunto de Buildpacks 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 Cloud Run.

Para ver uma lista de linguagens compatíveis, consulte a documentação de pacotes de criação do Google Cloud.

Como criar com os buildpacks do Google Cloud usando o Cloud Build

Para criar com os buildpacks do Google Cloud:

  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 os buildpacks do Google Cloud 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

    IMAGE_URL por uma referência à imagem de contêiner, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest; Se você usa o Artifact Registry, o repositório REPO_NAME já precisará ter sido criado. O URL tem o formato REGION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG

  6. Aguarde a conclusão de pack.

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

A seguir