Crie origens para contentores

O Cloud Run suporta a implementação direta de código-fonte. No entanto, também pode compilar o código-fonte numa imagem de contentor e, em seguida, implementar esta imagem de contentor no Cloud Run. Pode usar imagens de contentores para qualquer recurso do Cloud Run.

Exemplos de utilização comuns para desassociar as operações de compilação e implementação:

  • Integração e entrega contínuas: os programadores criam e enviam código para um repositório de origem. Um sistema de CI/CD compila automaticamente este código-fonte num contentor, executa testes e implementa-o automaticamente num ambiente de preparação.
  • Infraestrutura como código: os recursos do Cloud Run geridos através de YAML ou Terraform fazem referência a um URL de imagem de contentor. O código-fonte escrito pelos programadores tem de ser incorporado numa imagem de contentor.

Pode usar qualquer sistema que queira para criar um contentor. Esta página descreve as seguintes formas de usar o Cloud Build para criar imagens de contentores:

Requisitos para serviços do Cloud Run

Para os serviços do Cloud Run, pode usar imagens de contentores criadas com qualquer ferramenta capaz de criar imagens de contentores, desde que respeitem o contrato de contentores. Em particular, o seu código tem de ouvir pedidos HTTP na porta definida pela variável de ambiente PORT. Esta variável de ambiente PORT é injetada automaticamente pelo Cloud Run no seu contentor.

Antes de começar

Crie com um Dockerfile

Antes de criar as suas origens numa imagem de contentor ("colocar num contentor") localmente com o Docker ou o Cloud Build, precisa de um Dockerfile presente juntamente com as suas origens. Os exemplos do Hello World contêm aplicações de exemplo e Dockerfiles em muitos idiomas populares.

Se usar ficheiros Dockerfile, pode usar um dos seguintes métodos para criar:

  • Crie com o Cloud Build
  • Crie localmente com o Docker

Crie com o Cloud Build

Pode criar a sua imagem no Google Cloud usando o Cloud Build:

  1. Navegue para a pasta que contém as suas origens e o Dockerfile.

  2. Execute o comando:

    gcloud builds submit --tag IMAGE_URL

    Substitua IMAGE_URL por uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se usar o Artifact Registry, o repositório REPO_NAMEtem de já estar criado. O URL segue o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG .

Para ver sugestões sobre como melhorar o desempenho da compilação, consulte o artigo Acelerar as compilações

Crie localmente e envie com o Docker

Se tiver o Docker instalado localmente, pode usar o docker build em vez de usar o Cloud Build ou os buildpacks do Google Cloud.

Para criar a imagem de contentor com o Docker:

  1. Navegue para a pasta que contém as suas fontes e Dockerfile.

  2. Execute o comando:

    docker build . --tag IMAGE_URL

    Substitua IMAGE_URL por uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se usar o Artifact Registry, o repositório REPO_NAMEtem de já estar criado. O URL segue o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG .

    Tenha em atenção que, se estiver a usar um Mac com silício da Apple, tem de especificar --platform linux/amd64 na linha de comandos.

  3. Envie a imagem de contentor para um registo de contentores suportado:

    docker push IMAGE_URL

    Substitua IMAGE_URL por uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se usar o Artifact Registry, o repositório REPO_NAMEtem de já estar criado. O URL segue o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG .

Para excluir ficheiros locais deste processo, siga as instruções do .dockerignore ficheiro de configuração.

Crie com os buildpacks do Google Cloud

Os buildpacks da Google Cloud são um conjunto de buildpacks compatíveis com a CNCF que compilam código fonte em imagens de contentores concebidas para serem executadas em Google Cloud plataformas de contentores, incluindo o Cloud Run.

Para ver uma lista dos idiomas suportados, consulte a documentação dos buildpacks do Google Cloud

Crie com os buildpacks do Google Cloud através do Cloud Build

Para criar com os buildpacks do Google Cloud:

  1. Navegue para a pasta que contém as suas fontes.

  2. Execute o comando:

    gcloud builds submit --pack image=IMAGE_URL

    Substitua IMAGE_URL por uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se usar o Artifact Registry, o repositório REPO_NAMEtem de já estar criado. O URL segue o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG .

  3. Aguarde pela conclusão da compilação.

Crie com os buildpacks do Google Cloud através da pack linha de comandos

Para criar usando o comando pack:

  1. Se ainda não o fez, instale o Docker.

  2. Se ainda não o fez, instale o pack.

  3. Navegue para a pasta que contém as suas fontes.

  4. Execute o seguinte comando para criar e enviar para o seu registo de contentores suportado:

    pack build --publish IMAGE_URL

    Substitua IMAGE_URL por uma referência à imagem do contentor, por exemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Se usar o Artifact Registry, o repositório REPO_NAMEtem de já estar criado. O URL segue o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG .

  5. Aguarde até que pack termine.

Para mais informações, leia as instruções em Criar uma aplicação.

O que se segue?