Implantar contêineres em instâncias e MIGs


Você pode configurar uma instância do Compute Engine ou um modelo de instância para implantar e iniciar um contêiner do Docker. O Compute Engine fornece uma imagem atualizada do Container-Optimized OS (COS) com o Docker instalado e inicia o contêiner quando a instância é iniciada.

Antes de começar

Optando por implantar contêineres em instâncias e MIGs

Ao implantar contêineres no Compute Engine, você pode simplificar a implantação de aplicativos enquanto controla a infraestrutura da sua instância.

  • Gerencie instâncias que executam contêineres da mesma forma que você trataria qualquer outra instância ao configurar e gerenciar sua infraestrutura do Compute Engine.
  • Use processos e ferramentas familiares, como a CLI do Google Cloud ou a API Compute Engine, para gerenciar suas instâncias com contêineres.
  • Crie serviços escalonáveis ​​usando grupos de instâncias gerenciadas (MIGs) executando contêineres, que oferecem recursos como escalonamento automático, recuperação automática, atualizações contínuas, implantações em várias zonas e balanceamento de carga.

Como alternativa, considere implantar no Google Kubernetes Engine para:

  • Execute um grande número de microsserviços
  • Tenha um tempo de inicialização de contêiner mais rápido
  • Aproveite a orquestração automatizada do Kubernetes , incluindo atualizações automáticas, reparo automático de nós e escalonamento automático

A execução de cada microsserviço em uma instância separada no Compute Engine pode tornar a sobrecarga do sistema operacional uma parte significativa do seu custo. O Google Kubernetes Engine permite implantar vários contêineres e grupos de contêineres para cada instância, o que pode alocar recursos de instância de host com mais eficiência para microsserviços com menor espaço ocupado.

Como funciona a implantação de contêineres no Compute Engine

Os métodos comuns de implantação de software em uma instância do Compute Engine incluem:

  • Implantar software na inicialização da instância usando um script de inicialização ou cloud-init .
  • Criação de uma imagem de disco de inicialização personalizada com software pré-instalado.

Ambos os métodos da lista anterior combinam as tarefas de configuração do aplicativo e do ambiente do sistema operacional. Como desenvolvedor, você deve monitorar e resolver cuidadosamente quaisquer dependências de tempo de execução. Por exemplo, se dois aplicativos em execução em uma VM usarem versões diferentes da mesma biblioteca, você deverá instalar ambas as versões e apontá-las por meio de variáveis ​​do sistema.

Aplicativos executados em versões diferentes da mesma biblioteca.
Uma instância com aplicativos implantados diretamente no sistema operacional

Como alternativa, você pode implantar software em um contêiner em uma instância ou em um MIG. Um contêiner carrega o software aplicativo e as bibliotecas necessárias e é isolado dos aplicativos e bibliotecas do sistema operacional. Um contêiner pode ser movido entre ambientes de implantação sem lidar com versões conflitantes da biblioteca no contêiner e em seu sistema operacional.

Um exemplo de aplicativos implantados em contêineres.
Uma instância com aplicativos implantados em um contêiner

O processo a seguir descreve como implantar um contêiner no Compute Engine:

  1. Você agrupa seu aplicativo e as bibliotecas necessárias em uma imagem do Docker e publica a imagem no Artifact Registry ou em um registro de terceiros, como o Docker Hub.
  2. Você especifica um nome de imagem do Docker e a configuração docker run ao criar uma instância ou um modelo de instância para um MIG.

O Compute Engine executa as seguintes tarefas depois que você faz uma solicitação para criar uma instância:

  1. O Compute Engine cria uma instância de VM que usa uma imagem do Container-Optimized OS fornecida pelo Google. Esta imagem inclui um tempo de execução do Docker e software adicional responsável por iniciar seu contêiner.
  2. O Compute Engine armazena as configurações do contêiner em metadados de instância na chave de metadados gce-container-declaration .
  3. Quando a VM é iniciada, a imagem do Container-Optimized OS usa a configuração do comando docker run que está armazenada nos metadados da instância, extrai a imagem do contêiner do repositório e inicia o contêiner.
Usando a imagem do contêiner e o comando docker run.
Etapas para criar uma instância ou um grupo de instâncias gerenciadas executando um contêiner

Limitações

  • Você só pode implantar um contêiner para cada instância. Considere o Google Kubernetes Engine se precisar implantar vários contêineres por instância.
  • Você só pode implementar contêineres de um repositório público ou de um repositório privado do Artifact Registry ou do Container Registry que você possa acessar. Outros repositórios privados não são suportados.

    Consulte a documentação de controle de acesso do Artifact Registry ou Container Registry para obter informações sobre permissões de registro privado.

  • Você não pode mapear as portas de uma instância para as portas do contêiner (opção -p do Docker). Para permitir o acesso aos seus contêineres, consulte Publicação de portas de contêiner .

  • Você só pode usar imagens do Container-Optimized OS com esse método de implantação.

  • Você só pode usar esse recurso por meio do console do Google Cloud ou da Google Cloud CLI, não da API.

Preparando um contêiner para implantação

Escolha uma das seguintes abordagens para tornar a imagem do contêiner acessível ao Compute Engine:

  • Faça upload de sua imagem Docker para o Artifact Registry.
  • Use quaisquer imagens de contêiner disponíveis publicamente do Docker Hub ou de outros registros.

Implantar um contêiner em uma nova instância

Você pode implantar um contêiner em uma nova instância de VM usando o console do Google Cloud ou a CLI do Google Cloud.

Console

O exemplo a seguir implanta um contêiner de uma imagem Nginx Docker fornecida pelo Google, https://gcr.io/cloud-marketplace/google/nginx1:latest , em uma instância de VM. Para usar uma imagem Docker diferente, substitua a imagem Nginx Docker pela que você deseja nas etapas a seguir.

Vá para Criar uma instância

Se solicitado, selecione seu projeto e clique em Continuar . A página Criar uma instância é exibida e exibe o painel Configuração da máquina .

  1. No painel Configuração da máquina , acesse Nome e especifique um nome para sua instância. Para obter mais informações, consulte Convenção de nomenclatura de recursos .

  2. No menu de navegação, clique em SO e armazenamento . O painel Sistema operacional e armazenamento é exibido.

  3. Vá para a seção Container e clique em Implantar container . No painel Configurar contêiner exibido, faça o seguinte:

    1. Especifique a imagem do contêiner a ser usada. Considere os seguintes exemplos:
      • Para selecionar uma imagem de contêiner NGINX 1.12 no Cloud Launcher, especifique gcr.io/cloud-marketplace/google/nginx1:1.12 .
      • Para implantar uma imagem de contêiner Apache do Docker Hub, sempre especifique o nome completo da imagem do Docker, como docker.io/httpd:2.4 .
    2. Opcional. Especifique quaisquer outros parâmetros de configuração de sua escolha. Para obter mais informações sobre opções de configuração de contêiner, consulte Configurando opções para executar seu contêiner .
    3. Para concluir a configuração do contêiner e retornar ao painel Sistema operacional e armazenamento , clique em Selecionar .
  4. Opcional: Especifique outras opções de configuração. Para obter mais informações, consulte Opções de configuração durante a criação da instância .

  5. Para finalizar a criação da instância, clique em Criar .

    Depois de criar a instância, o Compute Engine inicia a instância e inicia o contêiner.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Execute o comando gcloud compute instances create-with-container :

    gcloud compute instances create-with-container INSTANCE_NAME \
        --container-image=CONTAINER_IMAGE
    

    Substitua o seguinte:

    • INSTANCE_NAME : nome da nova instância.
    • CONTAINER_IMAGE : nome da imagem do contêiner.

    Por exemplo, o comando a seguir cria uma instância chamada nginx-vm , que inicia e executa a imagem do contêiner:

    gcr.io/cloud-marketplace/google/nginx1:1.12

    gcloud compute instances create-with-container nginx-vm \
        --container-image=gcr.io/cloud-marketplace/google/nginx1:1.12
    

    Para implantar uma imagem de contêiner Apache do Docker Hub, sempre especifique o nome completo da imagem do Docker:

    docker.io/httpd:2.4 .

Atualizando um contêiner em uma instância

É possível atualizar uma imagem do Docker e opções de configuração para executar o contêiner em uma instância usando o console do Google Cloud ou a CLI do Google Cloud.

Quando você atualiza um contêiner em execução, o Compute Engine executa duas etapas:

  • Atualiza a declaração do contêiner na instância. O Compute Engine armazena a declaração de contêiner atualizada nos metadados da instância na chave de metadados gce-container-declaration .
  • Interrompe e reinicia a instância para ativar a configuração atualizada, se a instância estiver em execução. Se a instância for interrompida, atualiza a declaração do contêiner e mantém a instância interrompida. A instância baixa a nova imagem e inicia o contêiner na inicialização.

Console

  1. Acesse a página de instâncias de VM .

    Acesse as instâncias de VM

  2. Clique no nome da instância a ser atualizada.

  3. Na página de detalhes da instância, clique em Editar .

  4. Especifique a nova imagem do contêiner e atualize as opções para executar o contêiner conforme necessário.

  5. Para salvar suas alterações, clique em Salvar e reiniciar . O Compute Engine salva as alterações e reinicia a instância automaticamente para fazer a atualização. Após a reinicialização da instância, ela baixa a nova imagem e inicia o contêiner com a configuração atualizada.

gcloud

Atualize a declaração do contêiner usando o comando gcloud compute instances update-container . Por exemplo:

gcloud compute instances update-container nginx-vm \
    --container-image gcr.io/cloud-marketplace/google/nginx1:latest

Este comando define a imagem do contêiner como gcr.io/cloud-marketplace/google/nginx1:latest e reinicia a instância para ativar as alterações. Você também pode atualizar qualquer uma das propriedades descritas em Configurando opções para executar seu contêiner adicionando sinalizadores correspondentes.

Depois que a instância for reiniciada, ela fará download da nova imagem do contêiner e iniciará o contêiner com a nova configuração.

Implantar um contêiner em um grupo gerenciado de instâncias

Você pode implantar um contêiner em um novo grupo de instâncias gerenciadas (MIG) usando o console do Google Cloud ou a CLI do Google Cloud seguindo estas etapas:

  1. Crie um modelo de instância baseado em uma imagem do Docker.

  2. Crie um MIG a partir do novo modelo de instância.

Console

O exemplo a seguir cria um modelo de instância que implanta um contêiner de uma imagem Docker Nginx ( gcr.io/cloud-marketplace/google/nginx1:15 ) fornecida pelo Google em um MIG. Para usar outras imagens do Docker, substitua gcr.io/cloud-marketplace/google/nginx1:15 no exemplo a seguir pela imagem que você deseja usar.

  1. Acesse a página Modelos de instância .

    Vá para modelos de instância

  2. Para criar um modelo de instância, clique em Criar modelo de instância .

  3. Em Contêiner , selecione Implantar imagem de contêiner .

  4. Em Imagem do contêiner , especifique o nome da imagem do Docker e configure as opções para executar o contêiner . Por exemplo, você pode especificar gcr.io/cloud-marketplace/google/nginx1:15 para a imagem do contêiner.

  5. Clique em Criar .

Em seguida, crie um MIG que use o novo modelo de instância.

gcloud

Crie um modelo de instância para executar imagens do Docker usando o comando gcloud compute instance-templates create-with-container :

gcloud compute instance-templates create-with-container TEMPLATE_NAME \
  --container-image DOCKER_IMAGE

Você também pode configurar opções para executar seu contêiner .

Por exemplo, o comando a seguir cria um novo modelo de instância com o nome nginx-template , que inclui informações sobre a imagem do Docker. Uma instância criada a partir deste modelo inicia e executa a imagem Docker gcr.io/cloud-marketplace/google/nginx1:15 quando a instância é iniciada.

gcloud compute instance-templates create-with-container nginx-template \
    --container-image gcr.io/cloud-marketplace/google/nginx1:15

A seguir, crie um MIG usando o novo modelo de instância.

Agora que você tem um modelo de instância, é possível criar um MIG que use o modelo de instância. Por exemplo, para criar um MIG usando a CLI gcloud e o nginx-template que você acabou de criar, execute o seguinte comando:

gcloud compute instance-groups managed create example-group \
    --base-instance-name nginx-vm \
    --size 3 \
    --template nginx-template

Atualizar um grupo de instâncias gerenciadas que executa um contêiner

Você pode atualizar um grupo gerenciado de instâncias (MIG) para implantar uma nova versão de uma imagem do Docker ou uma nova versão da imagem do Container-Optimized OS.

Atualizando um MIG para uma nova versão de uma imagem de contêiner

Você pode implantar uma nova versão de uma imagem Docker em um MIG usando o Managed Instance Group Updater, em três etapas:

  1. Prepare uma nova imagem Docker para implantação.
  2. Crie um modelo de instância baseado na nova imagem do Docker da mesma forma que você cria um modelo baseado em contêiner .
  3. Atualize um MIG para o novo modelo de instância usando o Managed Instance Group Updater .

Atualizar um grupo de instâncias gerenciadas para uma nova versão da imagem do Container-Optimized OS

O Google atualiza imagens do Container-Optimized OS regularmente e talvez você queira aplicar essas atualizações aos seus MIGs em contêineres sem alterar a imagem do Docker. É possível atualizar um MIG para uma nova versão de uma imagem do Container-Optimized OS usando o console do Google Cloud ou a CLI do Google Cloud em duas etapas:

  1. Crie um modelo de instância baseado na versão atual da sua imagem Docker, da mesma forma que você cria um modelo baseado em contêiner para um novo MIG. A versão mais recente compatível de uma imagem do Container-Optimized OS é usada por padrão.
  2. Atualize um MIG com o novo modelo de instância usando o Managed Instance Group Updater .

Conectando-se a um contêiner usando SSH

Você pode se conectar a um contêiner em uma instância usando SSH. Use a CLI gcloud para executar gcloud compute ssh com a sinalização --container :

gcloud compute ssh INSTANCE_NAME --container CONTAINER_NAME

Substitua o seguinte:

  • INSTANCE_NAME : o nome da instância
  • CONTAINER_NAME : o nome do contêiner

Saiba mais sobre o comando gcloud compute ssh e seus argumentos.

Monitoramento de contêineres no Compute Engine

Para monitorar suas instâncias que executam uma imagem do Container-Optimized OS, use o agente Node Problem Detector , que se comunica com o Cloud Monitoring e relata métricas relacionadas à integridade. O agente é integrado às imagens do Container-Optimized OS a partir do Milestone 77.

Para ativar o agente, em contêineres que usam imagens com Milestone 88 ou posterior, edite a seção de metadados personalizados e defina google-monitoring-enabled como true .

Para encontrar outras maneiras de ativar o Node Problem Detector, visite Habilitando o monitoramento de integridade .

O agente Node Problem Detector suporta as métricas na lista de métricas que começam com guest/ .

Para interagir com as métricas coletadas pelo agente, acesse o Metrics Explorer .

Visualizando registros

Você pode visualizar três tipos de logs relacionados a contêineres:

  1. Logs do agente de inicialização , também conhecidos como logs do konlet . O agente de inicialização analisa a configuração do contêiner e executa tarefas para iniciá-lo em uma instância do Compute Engine.

  2. Os logs de eventos do Docker relatam eventos de contêiner, incluindo eventos de início e parada de contêiner.

  3. Os logs do seu contêiner incluem o STDOUT dos aplicativos executados no seu contêiner.

Visualizando logs do agente de inicialização

Os logs do agente de inicialização estão disponíveis no console serial, por meio do serviço do sistema journald incluído na imagem do sistema operacional e por meio do Cloud Logging .

Visualizando logs do agente de inicialização no console serial

Console

  1. Acesse a página de instâncias de VM .

    Acesse as instâncias de VM

  2. Selecione a instância para a qual você deseja visualizar os logs do agente de inicialização.

  3. Em Logs , clique em Porta serial 1 (console) para visualizar os logs do console serial.

    Registra a porta serial 1.

gcloud

Use o comando get-serial-port-output para visualizar logs na porta serial da instância.

gcloud compute instances get-serial-port-output INSTANCE_NAME

Substitua INSTANCE_NAME pelo nome da instância.

Por exemplo, use o seguinte comando para visualizar a saída da porta serial de uma instância chamada nginx-vm :

gcloud compute instances get-serial-port-output nginx-vm

Visualizando logs do agente de inicialização no journald

  1. Conecte-se à sua instância com um contêiner usando SSH.
  2. Execute o comando sudo journalctl para ver os logs de inicialização da instância e do contêiner. Use o comando a seguir para filtrar logs do agente de inicialização de contêiner ( konlet ).

    sudo journalctl -u konlet*
    

Visualizando logs do agente de inicialização no Logging

Console

  1. Acesse a página de instâncias de VM .

    Acesse as instâncias de VM

  2. Selecione a instância para a qual você deseja visualizar os logs do agente de inicialização.

  3. Em Logs , clique em Cloud Logging para visualizar os logs do Cloud Logging.

    Registra a porta serial 1.

  4. Insira um filtro de pesquisa para recuperar logs do agente de inicialização.

    resource.type="gce_instance"
    logName="projects/PROJECT_ID/logs/cos_system"
    jsonPayload.SYSLOG_IDENTIFIER="konlet-startup"
    jsonPayload._HOSTNAME="INSTANCE_NAME"
    

    Substitua o seguinte:

    • PROJECT_ID : o ID do projeto que contém a instância
    • INSTANCE_NAME : o nome da instância da qual você deseja obter logs

gcloud

Use o comando gcloud logging read com um filtro apropriado para visualizar os logs do agente de inicialização do contêiner.

gcloud logging read "resource.type=gce_instance AND \
    logName=projects/PROJECT_ID/logs/cos_system AND \
    jsonPayload.SYSLOG_IDENTIFIER=konlet-startup AND \
    jsonPayload._HOSTNAME=INSTANCE_NAME"

Substitua o seguinte:

  • PROJECT_ID : o ID do projeto que contém a instância
  • INSTANCE_NAME : o nome da instância da qual você deseja obter logs

Por exemplo, use o comando a seguir para visualizar os últimos 10 logs do agente de inicialização no Logging para uma instância chamada nginx-vm que está executando o COS 70 e que existe em my-project .

gcloud logging read "resource.type=gce_instance AND \
    logName=projects/my-project/logs/cos_system AND \
    jsonPayload.SYSLOG_IDENTIFIER=konlet-startup AND \
    jsonPayload._HOSTNAME=nginx-vm" \
    --limit 10

Visualizando logs de eventos do Docker

Você pode visualizar logs de eventos do Docker no journald e no Cloud Logging.

Visualizando logs de eventos do Docker no journald

  1. Conecte-se à sua instância com um contêiner usando SSH.
  2. Execute o comando sudo journalctl com o seguinte filtro para ver os logs de eventos do Docker.

    sudo journalctl -u docker-events-collector
    

Visualizando logs de eventos do Docker no Logging

Console

  1. Acesse a página de instâncias de VM .

    Acesse as instâncias de VM

  2. Selecione a instância para a qual você deseja visualizar os logs do agente de inicialização.

  3. Em Logs , clique em Cloud Logging para visualizar os logs do Cloud Logging.

    Registra a porta serial 1.

  4. Insira o seguinte filtro de pesquisa para recuperar logs de eventos do Docker.

    resource.type="gce_instance"
    logName="projects/PROJECT_ID/logs/cos_system"
    jsonPayload._HOSTNAME="INSTANCE_NAME"
    jsonPayload.SYSLOG_IDENTIFIER="docker"
    

    Substitua o seguinte:

    • PROJECT_ID : o ID do projeto que contém a instância
    • INSTANCE_NAME : o nome da instância da qual você deseja obter logs

gcloud

Use o comando gcloud logging read com um filtro apropriado para visualizar logs de eventos do Docker.

gcloud logging read "resource.type=gce_instance AND \
    logName=projects/PROJECT_ID/logs/cos_system AND \
    jsonPayload._HOSTNAME=INSTANCE_NAME AND \
    jsonPayload.SYSLOG_IDENTIFIER=docker"

Substitua o seguinte:

  • PROJECT_ID : o ID do projeto que contém a instância
  • INSTANCE_NAME : o nome da instância da qual você deseja obter logs

Por exemplo, use o comando a seguir para visualizar os últimos 10 logs de eventos do Docker em Logging para uma instância chamada nginx-vm que está executando o COS 70 e que existe em my-project .

gcloud logging read "resource.type=gce_instance AND \
    logName=projects/my-project/logs/cos_system AND \
    jsonPayload._HOSTNAME=nginx-vm AND \
    jsonPayload.SYSLOG_IDENTIFIER=docker" \
    --limit 10

Visualizando logs de contêiner

Console

  1. Acesse a página de instâncias de VM .

    Acesse as instâncias de VM

  2. Selecione a instância para a qual você deseja visualizar os logs do agente de inicialização.

  3. Em Logs , clique em Cloud Logging para visualizar os logs do Cloud Logging.

    Registra a porta serial 1.

  4. A página do Cloud Logging é carregada com um filtro de pesquisa padrão. Copie o valor para resource.labels.instance_id . Você o usará mais tarde.

  5. Atualize o filtro de pesquisa para recuperar logs de contêiner.

    resource.type="gce_instance"
    logName="projects/PROJECT_ID/logs/cos_containers"
    resource.labels.instance_id="INSTANCE_ID"
    

    Substitua o seguinte:

    • PROJECT_ID : o ID do projeto que contém a instância
    • INSTANCE_ID : o ID da instância para a qual você deseja obter logs

gcloud

Use o comando gcloud logging read para visualizar os registros do contêiner.

  1. Determine o ID da instância para a qual você deseja obter logs:

    gcloud compute instances describe INSTANCE_NAME \
       --zone ZONE \
       --format="value(id)"
    

    Substitua o seguinte:

    • INSTANCE_NAME : o nome da instância da qual você deseja obter logs
    • ZONE : a zona onde a instância está localizada
  2. Use o comando e o filtro a seguir para visualizar os logs do contêiner da instância.

    gcloud logging read "resource.type=gce_instance AND \
        logName=projects/PROJECT_ID/logs/cos_containers AND \
        resource.labels.instance_id=INSTANCE_ID"
    

    Substitua o seguinte:

    • PROJECT_ID : o ID do projeto que contém a instância.
    • INSTANCE_ID : o ID da instância.

    Por exemplo, use o comando a seguir para visualizar os últimos 10 registros de contêiner no Cloud Logging para uma instância que executa o COS 70, que existe em my-project e que tem um ID de instância 555123456789012345 .

    gcloud logging read "resource.type=gce_instance AND \
        logName=projects/my-project/logs/cos_containers AND \
        resource.labels.instance_id=555123456789012345" \
        --limit 10
    

Especificando imagens ou famílias de imagens otimizadas para contêiner

Instâncias em contêiner ou modelos de instância são criados para usar a imagem otimizada para contêiner suportada mais recente por padrão. A imagem pertence ao projeto cos-cloud .

Você pode substituir esse padrão por outra imagem do projeto cos-cloud . Para obter informações sobre famílias de imagens disponíveis e seus atributos, consulte Escolhendo a versão correta do Container-Optimized OS .

Por exemplo, depois de saber qual imagem deseja usar, na CLI gcloud, forneça o sinalizador --image para substituir a imagem padrão otimizada para contêiner ou forneça o sinalizador --image-family para escolher a imagem mais recente da família especificada no momento da criação da instância.

O exemplo a seguir cria uma instância em contêiner que usa a imagem mais recente da família de imagens cos-dev :

gcloud compute instances create-with-container nginx-vm \
    --image-family cos-dev \
    --image-project cos-cloud \
    --container-image gcr.io/cloud-marketplace/google/nginx1:1.15

Configurando regras de firewall

Instâncias em contêineres iniciam contêineres cuja rede está configurada para modo host. Um contêiner compartilha a pilha de rede do host e todas as interfaces do host estão disponíveis para o contêiner.

Por padrão , Google Cloudas regras de firewall bloqueiam todas as conexões de entrada para uma instância e permitem todas as conexões de saída de uma instância.

Crie regras de firewall para permitir conexões de entrada à sua instância e, portanto, ao contêiner.

Configurando opções para executar um contêiner

Você pode configurar as seguintes opções para executar seu contêiner:

  • Especifique uma política de reinicialização do contêiner.
  • Substituir o contêiner ENTRYPOINT (comando padrão a ser executado no início do contêiner).
  • Passe argumentos para o comando ENTRYPOINT do contêiner.
  • Execute um contêiner em modo privilegiado.
  • Monte um diretório host ou tmpfs como um volume de dados dentro do contêiner.
  • Defina variáveis ​​de ambiente.
  • Aloque um buffer para STDIN no tempo de execução do contêiner.
  • Aloque um pseudo-TTY.

Saiba mais sobre como configurar opções para executar seu contêiner .

O que vem a seguir