Criando uma Instância de Contêiner

Siga estas etapas para criar uma instância de contêiner.

Considere os seguintes requisitos antes de criar uma instância de contêiner:
  • Quando você cria a instância do contêiner, vários outros recursos estão envolvidos, como uma imagem, uma rede de nuvem e uma sub-rede. Esses recursos podem estar no mesmo compartimento da instância ou em outros compartimentos. Você deve ter o nível necessário de acesso a cada compartimento envolvido para criar a instância. Consulte Política Obrigatória do Serviço IAM.
  • Quando você especifica uma imagem de contêiner, o registro no qual a imagem reside deve estar acessível pela sub-rede fornecida para a instância de contêiner. Se a imagem do contêiner residir no OCI Container Registry, especifique a imagem em uma sub-rede em uma rede virtual na nuvem (VCN) com um gateway de serviço. Se a imagem do contêiner residir em um registro externo hospedado na internet pública, especifique a imagem em uma sub-rede pública em uma VCN com um gateway de internet ou em uma sub-rede privada em uma VCN com um gateway NAT (Network Address Translation).

Importante

Você pode criar no máximo 60 contêineres em cada instância de contêiner.
  • Para criar uma instância de contêiner, siga estas etapas:

    1. Navegue até a página da lista Container Instances. Se precisar de ajuda para localizar a página da lista, consulte Listando Instâncias do Contêiner.
    2. Selecione Criar instância de contêiner.
    3. Preencha as informações para as etapas numeradas da seguinte forma.

    1. Adicionar detalhes básicos

    • Nome: Informe um nome para a instância do contêiner. Você pode adicionar ou alterar o nome posteriormente. O nome não precisa ser exclusivo porque um OCID (Oracle Cloud Identifier) identifica de forma exclusiva a instância de contêiner. Evite digitar informações confidenciais.
    • Criar no Compartimento: Selecione o compartimento no qual criar a instância. Os outros recursos escolhidos podem vir de diferentes compartimentos.

    Tags

    Na seção Tags, adicione tags à instância de contêiner. Se você tiver permissões para criar um recurso, também terá permissões para aplicar tags de formato livre a esse recurso. Para aplicar uma tag definida, você deverá ter permissões para usar o namespace de tag. Para obter mais informações sobre tags, consulte Tags de Recurso. Se você não tiver certeza se deseja aplicar tags, ignore esta opção ou pergunte ao seu administrador. Você pode aplicar tags posteriormente.

    Posicionamento

    Na seção Colocação, selecione as seguintes opções:

    • Domínio de disponibilidade: selecione o domínio de disponibilidade no qual você deseja criar a instância.
    • Domínio de falha (Opcional): Por padrão, o sistema seleciona um domínio de falha para você. Como alternativa, selecione o domínio da falha a ser usado para a instância. Para obter mais informações, consulte Domínios de Falha.

    Forma

    Na seção Forma, escolha a forma flexível da instância do contêiner. As formas flexíveis têm um número personalizável de OCPUs e uma quantidade de memória. Selecione Alterar forma para fazer alterações na forma.

    • Número de OCPUs: Para Número de OCPUs, selecione o número de OCPUs que deseja alocar para esta instância, arrastando o controle deslizante. Os outros recursos são dimensionados proporcionalmente.
    • Quantidade de memória (GB): Para Quantidade de memória (GB), selecione a quantidade de memória que deseja alocar para esta instância, arrastando o controle deslizante. A quantidade de memória permitida é baseada no número de OCPUs selecionadas.

    Rede

    Na seção Rede, você configura os detalhes da rede para a instância:
    Observação

    Você precisará de uma regra de segurança como parte de uma lista de segurança ou de um grupo de segurança de rede para permitir o tráfego de rede para os aplicativos em execução no contêiner. Por exemplo, se o seu aplicativo for executado na porta TCP 8080, você precisará de uma regra de segurança para TCP e porta 8080. Para obter informações sobre como configurar regras de segurança, consulte Regras de Segurança.
    • Rede principal:

      Selecione uma opção:

      • Selecionar rede virtual na nuvem existente: Selecione uma VCN existente.
      • Criar nova rede virtual na nuvem: Crie uma VCN nessa caixa de diálogo.
      • Informe o OCID da sub-rede: Informe o OCID de uma VCN existente.

      Preencha os seguintes campos:

      • Compartimento virtual da rede na nuvem: Selecione o compartimento.
      • Rede virtual na nuvem: Selecione sua VCN.
    • Sub-rede

      Uma sub-rede dentro da rede na nuvem à qual a instância está anexada. As sub-redES são públicas ou privadas. Privado significa que as instâncias dessa sub-rede não podem ter endereços IP públicos. Para obter mais informações, consulte Acesso à Internet. As sub-redes também podem ser específicas do domínio de disponibilidade ou regionais. Os regionais têm "regional" após o nome. Recomendamos o uso de sub-redes regionais. Para obter mais informações, consulte Sobre Sub-redes Regionais.

      Selecione uma opção de sub-rede:

      • Selecionar sub-rede existente: Selecione o compartimento e a sub-rede.
      • Crie uma nova sub-rede pública: Especifique as seguintes informações:
        • Nome da nova sub-rede: Um nome para a sub-rede. Evite digitar informações confidenciais.
        • Compartimento de sub-rede: o compartimento onde você deseja colocar a sub-rede.
        • Bloco CIDR: Um bloco CIDR único e contíguo para a sub-rede (por exemplo, 172.16.0.0/24). Certifique-se de que ela esteja dentro do bloco CIDR da rede na nuvem e não se sobreponha a outras sub-redes. Você não pode alterar esse valor mais tarde. Consulte Tamanho da VCN e Faixas de Endereços Permitidos. Para referência, verifique a calculadora de CIDR.
    • Endereço IPv4 público

      Selecione uma opção:

      • Designe um endereço IPv4 público: Para designar à instância um endereço IP público. Um endereço IP público torna a instância acessível pela internet. Para obter mais informações, consulte Acesso à Internet.
      • Não atribua um endereço IPv4 público: Nenhum endereço IP público foi atribuído.
    • Opções avançadas de rede

      Selecione as opções avançadas de rede.

      • Usar grupos de segurança de rede para controlar o tráfego: Selecione essa opção se quiser adicionar a VNIC principal da instância a um ou mais grupos de segurança de rede (NSGs). Em seguida, especifique os NSGs. Esta opção só está disponível quando você usa uma VCN existente. Para obter mais informações, consulte Grupos de Segurança de Rede.
      • Ativar verificação de destino de origem: se a verificação de origem/destino está desativada na VNIC.
      • Endereço IP Privado: Informe um endereço IP público disponível de sua escolha pelo CIDR da sub-rede. Se você não especificar um valor, o endereço IP privado será designado automaticamente.
      • Registro DNS: Especifique se um registro DNS privado será designado.
      • Nome do Host: Informe um nome de host a ser usado para o DNS na rede na nuvem. Essa opção só estará disponível se a VCN e a sub-rede tiverem labels de DNS e você tiver selecionado para designar um registro de DNS privado.

    Opções avançadas

    Configure definições avançadas para a instância do contêiner.

    • Timeout de shutdown gracioso (segundos): Defina o período de tempo que a instância do contêiner aguarda o shutdown do sistema operacional antes de desligar.
    • Política de reinicialização de contêiner:

      Você pode definir a política de reinicialização para os contêineres em uma instância de contêiner ao criá-los. Quando um contêiner individual sai (interrompe, reinicia ou falha), o código de saída e o horário de saída estão disponíveis na API e a política de reinicialização é aplicada. Se todos os contêineres saírem e não forem reiniciados, a instância do contêiner será encerrada.

      Selecione uma das seguintes opções:

      • Sempre: Os contêineres sempre são reiniciados, mesmo que sejam encerrados com sucesso. "Sempre" é o preferido se você quiser garantir que seu contêiner esteja sempre em execução, como um servidor Web. Essa é a definição de política default.
      • Nunca: Os contêineres nunca são reinicializados, independentemente do motivo pelo qual foram encerrados.
      • Em caso de falha: Os contêineres só serão reiniciados se saírem com um erro. "Na falha" é preferível se você quiser realizar uma determinada tarefa e garantir que ela seja concluída com sucesso.

    Selecione Próximo para configurar os contêineres dentro da instância do contêiner.

    2. Configurar contêineres

    Preencha as seguintes informações do recipiente.

    • Nome: Informe um nome para o primeiro contêiner. Você pode adicionar ou alterar o nome posteriormente. O nome não precisa ser exclusivo porque um OCID (Oracle Cloud Identifier) identifica exclusivamente o contêiner. Evite digitar informações confidenciais.
    • Imagem:

      Selecione Selecionar imagem e siga estas etapas.

      Selecione uma origem de imagem:

      • OCI Container Registry: O OCI Registry, também conhecido como Container Registry, é um registro gerenciado pelo sistema Oracle que permite armazenar, compartilhar e gerenciar imagens de contêiner. Para obter mais informações, consulte Container Registry.
      • Registro Externo: Um registro externo, como o Docker Hub, onde você pode escolher uma imagem fornecida por fornecedores terceirizados.

        Segredo do OCI Vault: Você pode hospedar imagens de contêiner em registros privados ou repositórios que exigem autorização para extrair as imagens. Recomendamos que você armazene suas credenciais usando o serviço Oracle Cloud Infrastructure Vault para maior segurança e facilidade de gerenciamento de credenciais. Para obter mais informações, consulte Segredos do Serviço Vault para Autorização de Extração de Imagem.

    • Variáveis de ambiente

      Defina as variáveis do ambiente usadas pelo contêiner.

      As imagens de contêiner suportam variáveis de ambiente para personalizar sua execução. Por exemplo, a imagem NGINX oficial suporta variáveis de ambiente NGINX_HOST e NGINX_PORT, para que você possa definir o valor para personalizar a execução para as seguintes variáveis:

      NGINX_HOST=foobar.com
      NGINX_PORT=80
    • Recursos: Você pode configurar a quantidade de recursos que o contêiner consome em números absolutos ou porcentagens. Por padrão, o contêiner pode usar todos os recursos na instância do contêiner.
    • Opções de inicialização: Você pode configurar o diretório e argumentos ENTRYPOINT para o contêiner.
    • Segurança: Você pode especificar as definições de segurança do contêiner.
      • Marque a caixa de seleção Enable read-only root filesystem para aplicar acesso somente leitura ao sistema de arquivos raiz do contêiner.
      • Marque a caixa de seleção Executar como usuário não raiz para garantir que o contêiner não seja executado como usuário raiz.
        • Quando você ativa Executar como usuário não raiz, o valor ID do Usuário não pode ser definido como 0.
      • Use os campos ID do Usuário e ID do Grupo para definir o ID do usuário (ID) e o ID do grupo (GID) para executar o processo de ponto de entrada do contêiner.
        • O valor para ID do Usuário e ID do Grupo deve ser um número inteiro entre 0 e 65535. O valor padrão é 0.
        • Os valores de ID do Usuário e ID do Grupo que você especifica substituem os valores definidos na imagem do contêiner. Quando o valor ID do Usuário não é especificado, o processo de ponto de entrada do contêiner é executado como usuário raiz.
        • Você deve definir o ID do Usuário antes de definir o ID do Grupo.
      • Na seção Configurar recursos do Linux, você pode configurar recursos do Linux para seu contêiner. Por padrão, o contêiner é iniciado com vários recursos que você pode optar por eliminar.

        O campo Adicionar recursos e o campo Eliminar recursos suportam o valor TODOS, que permite ou elimina todos os recursos. O valor ALL refere-se aos recursos do Linux que são ativados por padrão.

        • Se você deixar Adicionar recursos e Eliminar recursos em branco, todos os recursos padrão estarão disponíveis para seu contêiner.
        • Se você informar TODOS no campo Adicionar recursos, todos os recursos estarão disponíveis, exceto aqueles listados no campo Eliminar recursos, e ignorará TODOS no campo Eliminar recursos.
        • Se você digitar TODOS no campo Eliminar recursos, o contêiner conterá apenas os recursos listados no campo Adicionar recursos.
        • Para outros casos, elimina todos os recursos do conjunto padrão listado no campo Eliminar recursos, depois adiciona os recursos listados no campo Adicionar recursos e, por fim, retorna o resultado como o recurso do contêiner.
        • A criação da instância do contêiner falhará se você fornecer quaisquer recursos que não estejam na lista abaixo.
        Todos os recursos do Linux ativados por padrão quando você cria um contêiner
        Recurso Descrição
        CAP_CHOWN Faz alterações nos UIDs e GIDs de arquivo.
        CAP_DAC_OVERRIDE Controle de acesso discricionário (DAC) que ignora as verificações de permissão de leitura, gravação e execução de arquivos.
        CAP_FSETID
        • Não limpa os bits do modo set-user-ID e set-group-ID quando um arquivo é modificado.
        • Define o bit set-group-ID para um arquivo cujo GID não corresponde ao sistema de arquivos ou a qualquer um dos GIDs complementares do processo de chamada.
        CAP_FOWNER Ignora as verificações de permissão em operações que normalmente exigem que o UID do sistema de arquivos do processo corresponda ao UID do arquivo, exclui as operações abrangidas por CAP_DAC_OVERRIDE e CAP_DAC_READ_SEARCH.
        CAP_MKNOD Cria arquivos especiais usando mknod(2).
        CAP_NET_RAW
        • Usa soquetes RAW e PACKET.
        • Vincula a qualquer endereço para proxy transparente.
        CAP_SETGID
        • Faz manipulações de GIDs de processo e lista de GIDs complementares.
        • Cria GID ao transmitir credenciais de soquete por meio de soquetes de domínio UNIX.
        • Grava um mapeamento de ID de grupo em um namespace de usuário.
        CAP_SETUID
        • Faz manipulações de UIDs de processo.
        • Cria um UID ao transmitir credenciais de soquete por meio de soquetes de domínio UNIX.
        • Grava um mapeamento de ID de usuário em um namespace de usuário.
        CAP_SETFCAP Define os recursos do arquivo.
        CAP_SETPCAP Se os recursos de arquivo não forem suportados, concede ou remove qualquer recurso no conjunto de recursos permitidos do chamador de ou para qualquer outro processo.
        CAP_NET_BIND_SERVICE Vincula um soquete a portas privilegiadas do domínio da Internet (números de porta menores que 1024).
        CAP_SYS_CHROOT Usa chroot(2) para alterar para um diretório raiz diferente.
        CAP_KILL Ignora as verificações de permissão para o envio de sinais, o que inclui o uso da operação ioctl(2) KDSIGACCEPT.
        CAP_AUDIT_WRITE Grava registros no log de auditoria do kernel.
    • Para configurar outro contêiner na instância, clique em + Outro contêiner e repita as etapas anteriores.

    Selecione Próximo para revisar a instância do contêiner e seus contêineres.

    Revisar

    Revisar suas seleções.

    Selecione Criar.

  • Use o comando oci container-instances container-instance create para criar uma instância de contêiner. Para usar esse comando, substitua compartment_ocid, logical_ad e subnetId pelos seus recursos.

    $ compartment_ocid=ocid1.compartment.oc1.example
    $ logical_ad=Lnnj:US-EXAMPLE
    $ ci_shape=CI.Standard.E4.Flex
    $ shape_config_json='{"ocpus": 2,"memoryInGBs": 2}'
    $ containers_json='[{"imageUrl": "busybox", "command": ["bin/sh"], "arguments": ["-c", "echo Hello"]}]'
    $ vnics_json='[{"subnetId": "ocid1.subnet.oc1.example"}]'
    $ oci container-instances container-instance create --compartment-id "$compartment_ocid" --availability-domain "$logical_ad" --shape "$ci_shape" --shape-config "$shape_config_json" --containers "$containers_json" --vnics "$vnics_json"

    Para obter uma lista completa de flags e opções de variáveis para comandos da CLI, consulte a Referência de Linha de Comando.

  • Use a operação CreateContainerInstance.