Como configurar contêineres

Nesta página, descrevemos como configurar a porta do contêiner, o comando entrypoint e os argumentos.

Quando o Cloud Run inicia um contêiner, ele executa o comando entrypoint padrão e os argumentos de comando padrão da imagem. Se você quiser modificar os argumentos de ponto de entrada e comando padrão da imagem, use os campos command e args na configuração do contêiner. O campo command especifica o comando real executado pelo contêiner. O campo args especifica os argumentos passados para esse comando.

Como configurar a porta do contêiner

Qualquer mudança na configuração leva à criação de uma nova revisão. As próximas revisões também recebem automaticamente essa configuração, a menos que você faça atualizações explícitas para alterá-la.

O Cloud Run injeta a variável de ambiente PORT no contêiner. O contêiner precisa detectar a porta definida pela variável de ambiente PORT em vez de uma porta codificada específica. No entanto, se isso não for possível, configure quais solicitações de porta serão enviadas para o contêiner:

Console

  1. Acessar o Cloud Run

  2. Clique em Criar serviço se estiver configurando um novo serviço em que fará uma implantação. Se você estiver configurando um serviço atual, clique nele e em Editar e implantar nova revisão.

  3. Se você estiver configurando um novo serviço, preencha a página inicial de configurações de serviço conforme desejado e clique em Avançar > Configurações avançadas para acessar a página de configuração de serviço.

  4. Clique na guia Contêiner.

    imagem

  5. Especifique a porta em que você quer que as solicitações sejam enviadas, se não for o valor padrão de "8080". Isso também define a variável de ambiente "PORT".

  6. Clique em Criar ou Implantar.

Linha de comando

É possível atualizar a configuração de porta de um serviço usando o seguinte comando:

gcloud run services update SERVICE --port PORT

Substitua:

  • SERVICE pelo nome do serviço;
  • PORT pela porta para enviar solicitações. Observe que a porta padrão é 8080.

Também é possível configurar portas durante a implantação usando o comando:

gcloud run deploy --image IMAGE_URL --port PORT

Substitua IMAGE_URL por uma referência à imagem de contêiner. Por exemplo, gcr.io/myproject/my-image:latest.

YAML

É possível fazer o download e ver a configuração do serviço atual usando o comando gcloud run services describe --format export, que produz resultados limpos no formato YAML. Em seguida, modifique os campos descritos abaixo e faça upload do YAML modificado usando o comando gcloud beta run services replace. Modifique os campos somente conforme documentado.

  1. Para visualizar e fazer o download da configuração:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Atualize o atributo containerPort::

    spec:
      containers:
      - image: IMAGE_URL
        ports:
        - containerPort: PORT
    

    Substitua:

    • IMAGE_URL por uma referência à imagem de contêiner. Por exemplo, gcr.io/myproject/my-image:latest;
    • PORT pela porta para enviar solicitações.
  3. Substitua o serviço pela nova configuração usando o seguinte comando:

    gcloud beta run services replace service.yaml

Como configurar o comando e os argumentos do ponto de entrada do contêiner

Qualquer mudança na configuração leva à criação de uma nova revisão. As próximas revisões também receberão automaticamente essa configuração, a menos que você faça atualizações explícitas para alterá-la.

É possível definir comandos e argumentos de ponto de entrada usando o Console do Cloud, a linha de comando gcloud ou um arquivo .yaml ao criar um novo serviço ou implantar uma nova revisão:

Console

  1. Acessar o Cloud Run

  2. Clique em Criar serviço se estiver configurando um novo serviço em que fará uma implantação. Se você estiver configurando um serviço atual, clique nele e em Editar e implantar nova revisão.

  3. Se você estiver configurando um novo serviço, preencha a página inicial de configurações de serviço conforme desejado e clique em Avançar > Configurações avançadas para acessar a página de configuração de serviço.

  4. Clique na guia Contêiner.

    imagem

  5. Especifique o comando que você quer que o contêiner execute, se não for o definido no contêiner, e, opcionalmente, especifique os argumentos para o comando entrypoint.

  6. Clique em Criar ou Implantar.

Linha de comando

É possível atualizar o comando inicial e os argumentos de um determinado serviço usando o seguinte comando:

gcloud run services update SERVICE --command COMMAND --args ARG1,ARG-N

Substitua:

  • COMMAND pelo comando com que o contêiner será iniciado se você não estiver usando o comando padrão;
  • ARG1 pelo argumento que você está enviando para o comando do contêiner. Use uma lista delimitada por vírgulas para mais de um argumento.

Também é possível especificar o ponto de entrada e os argumentos durante a implantação usando o comando:

gcloud run deploy --image IMAGE_URL --command COMMAND --args ARG1,ARG-N

Substitua IMAGE_URL por uma referência à imagem de contêiner. Por exemplo, gcr.io/myproject/my-image:latest.

Se você usar sinais de igual nos argumentos, insira-os usando o seguinte formato:

gcloud run deploy  \
  --args "--repo-allowlist=github.com/example/example_demo" \
  --args "--gh-webhook-secret=XX" \

Se os argumentos usarem vírgulas, consulte Como configurar variáveis de ambiente para mais detalhes sobre como fazer escape.

YAML

É possível fazer o download e ver a configuração do serviço atual usando o comando gcloud run services describe --format export, que produz resultados limpos no formato YAML. Em seguida, modifique os campos descritos abaixo e faça upload do YAML modificado usando o comando gcloud beta run services replace. Modifique os campos somente conforme documentado.

  1. Para visualizar e fazer o download da configuração:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Atualize os atributos command e args:

    spec:
      containers:
      - image: IMAGE_URL
        command:
        - COMMAND
        args:
          - "ARG1"
          - "ARG-N"
    

    Substitua:

    • IMAGE_URL por uma referência à imagem de contêiner. Por exemplo, gcr.io/myproject/my-image:latest;
    • COMMAND pelo comando com que o contêiner será iniciado se você não estiver usando o comando padrão;
    • ARG1 pelo argumento que você está enviando para o comando do contêiner. Use uma lista delimitada por vírgulas para mais de um argumento.
  3. Substitua o serviço pela nova configuração usando o seguinte comando:

    gcloud beta run services replace service.yaml

Como visualizar as configurações do contêiner

Para ver as configurações de contêiner atuais do serviço:

Console

  1. Acesse o Cloud Run

  2. Clique no serviço de seu interesse para abrir a página Detalhes do serviço.

  3. Clique na guia Revisões.

  4. No painel de detalhes à direita, a configuração de contêiner está listada na guia Contêiner.

Linha de comando

  1. Use o comando a seguir:

    gcloud run services describe SERVICE
  2. Localize a configuração de contêiner na configuração retornada.