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 Instâncias do contêiner. Se precisar de ajuda para localizar a página de 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. Informações básicas

    Na etapa Informações básicas, preencha as seguintes informações:

    1. 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.

    2. Criar no compartimento: Selecione o compartimento no qual criar a instância. Os outros recursos que você selecionar podem vir de compartimentos diferentes.

    3. Domínio de disponibilidade: selecione o domínio de disponibilidade no qual deseja criar a instância.

    4. Domínio de falha (Opcional): Por padrão, o sistema seleciona um domínio de falha para você. Se preferir, selecione Especificar domínio de falha para selecionar o domínio de falha a ser usado para a instância. Para obter mais informações, consulte Domínios de Falha.

    5. Forma: Selecione 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 alterar a forma e, em seguida, especifique:

      • Número de OCPUs: para Número de OCPUs, selecione o número de OCPUs que você deseja alocar para esta instância. 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. A quantidade de memória permitida é baseada no número de OCPUs selecionadas.
    6. Comportamento dos Contêineres: Configure o comportamento do contêiner 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. Se você não especificar um timeout de shutdown normal, o padrão será 0 segundos.
      • Política de reinicialização do 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 serão reiniciados somente se saírem com um erro. "Em caso de falha" é preferível se você quiser realizar uma determinada tarefa e garantir que ela seja concluída com sucesso.
    7. Tags: Na seção Tags, adicione tags à instância do 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 essa opção ou pergunte ao administrador. Você pode aplicar as tags posteriormente.

    8. Selecione Próximo.

    2. Rede

    Na etapa Rede, configure 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.
    1. Rede Virtual e Sub-rede:

      • 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 se estiver selecionando ou criando uma VCN:

        • Compartimento virtual da rede na nuvem: Selecione o compartimento.
        • Rede virtual na nuvem: Informe um novo nome ou selecione uma VCN existente.
      • 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:
          • Compartimento de sub-rede: o compartimento onde você deseja colocar a sub-rede.
          • Nome da nova sub-rede: Um nome para a sub-rede. Evite digitar informações confidenciais.
          • 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.
    2. Endereço IPv4 privado: Digite um endereço IPv4 privado disponível de sua escolha no CIDR da sub-rede. Se você não especificar um valor, o endereço IP privado será designado automaticamente.

    3. Endereço IPv4 público:

      Selecione uma opção:

      • Designe um endereço IPv4 público: Designe à instância um endereço IPv4 público, o que 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 IPv4 público foi atribuído.
    4. Segurança 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: Ative a verificação de origem/destino na VNIC desta instância de contêiner.
    5. Definições de DNS:

      • 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 optado por designar um registro de DNS privado.
    6. Selecione Próximo.

    3. Armazenamento

    Na seção Armazenamento, você pode adicionar até 32 itens de armazenamento. Você pode adicionar armazenamento de arquivos, diretórios vazios e arquivos de configuração.

    Tipo de Volume Finalidade
    Armazenamento de arquivos Armazenamento persistente com suporte do OCI File Storage Service (FSS).
    Diretório vazio Um diretório vazio compartilhado para contêineres na instância, com suporte de memória (tmpfs) ou armazenamento efêmero.
    Arquivo de configuração Um volume de arquivo de configuração no estilo do Kubernetes que contém um ou mais arquivos fornecidos.
    1. Selecione o botão Ações e depois selecione:

      • Gerenciar armazenamento de arquivos:
        1. Selecione ou crie um ponto de acesso NFS. Você pode selecionar um ponto de acesso NFS existente, informar seu OCID ou criar um ponto de acesso NFS especificando seu nome para exibição, compartimento, domínio de disponibilidade e tags.

          O ponto de acesso NFS deve estar acessível na sub-rede da instância do contêiner; caso contrário, a instância do contêiner não poderá montar o sistema de arquivos e a criação da instância do contêiner falhará.

        2. Adicione um ou mais volumes de armazenamento de arquivos para o ponto de acesso NFS selecionado. Para cada volume, selecione uma exportação existente ou crie uma exportação especificando um caminho de exportação.
        3. Selecione criptografia gerenciada pela Oracle ou criptografia gerenciada pelo cliente.

          Para usar a criptografia gerenciada pelo cliente, selecione um vault e uma chave que já existam.

        4. Especifique quaisquer opções de montagem NFSv3 suportadas. Para obter as opções suportadas e seu comportamento, consulte Opções de Montagem Suportadas.
        5. Selecione Atualizar.

        Para obter mais informações, consulte Mounting File System Service Resources.

      • Gerenciar diretório vazio:
        1. Selecione Adicionar diretório vazio.
        2. Informe um nome e escolha Armazenamento efêmero ou Memória como o armazenamento de apoio.
        3. Opcionalmente, adicione outro diretório vazio ou selecione Atualizar.
      • Gerenciar arquivo de configuração:
        1. Selecione Adicionar arquivo de configuração.
        2. Adicione um volume nomeado com um ou mais arquivos.

          Para cada arquivo, forneça um nome de arquivo, um caminho relativo opcional e conteúdo carregado ou em linha. Se nenhum caminho relativo for especificado, o arquivo estará disponível na raiz do volume.

        3. Selecione Atualizar.
    2. Selecione Próximo.

    4. Contêineres

    Na seção Contêineres, você pode adicionar até 60 contêineres para uma instância de contêiner.

    Selecione Adicionar contêiner e forneça as seguintes informações de contêiner:

    1. Nome: Informe um nome de exibição 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.
    2. Imagem: Selecione Selecionar imagem e, em seguida, selecione a origem da imagem do contêiner:
      • OCI Container Registry: Um registro gerenciado pela Oracle que permite armazenar, compartilhar e gerenciar imagens de contêiner.

        1. Selecione o compartimento do repositório, o repositório e a tag de imagem.

          Para obter mais informações, consulte Container Registry.

        2. Selecione Selecionar imagem.
      • Registro Externo: Um registro externo, como o Docker Hub, onde você pode selecionar uma imagem fornecida por fornecedores terceirizados.

        1. Selecione o nome do host do registro, o repositório e a tag de imagem.
        2. Selecione o tipo de credenciais de registro. Você pode hospedar imagens de contêiner em registros privados ou repositórios que exigem autorização para extrair as imagens.

          Você pode selecionar Nenhum, Básico ou Segredo do Vault do OCI.

        3. Se você selecionar Básico, especifique o nome de usuário e a senha do registro.
        4. Se você selecionar Segredo do Vault do OCI, forneça o nome de usuário e a senha do registro por meio de um segredo do vault. Especifique o compartimento do vault, o vault e defina um segredo.

          Para obter mais informações, consulte Segredos do Serviço Vault para Autorização de Extração de Imagem.

        5. Selecione Selecionar imagem.
    3. Variáveis ambientais: Defina as variáveis ambientais 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
      1. Selecione + Outra variável.
      2. Informe um par de chave e valor.
    4. Armazenamento: Adicione até 60 montagens de armazenamento do armazenamento que você criou na etapa Armazenamento.
      1. Selecione Adicionar armazenamento.
      2. Informe o armazenamento, o caminho de montagem e o subcaminho.
      3. Especifique se o armazenamento é somente leitura.
      4. Selecione Adicionar armazenamento para adicionar outra montagem de armazenamento.
    5. Opções de inicialização: Configure o diretório de trabalho, o comando e os argumentos para o ponto de entrada do contêiner. O diretório de trabalho deve ser um caminho absoluto.
    6. Segurança: Você pode especificar as definições de segurança do contêiner.
      1. Selecione Ativar sistema de arquivos raiz somente leitura para aplicar acesso somente leitura ao sistema de arquivos raiz do contêiner.
      2. Selecione Executar como usuário não raiz para garantir que o contêiner não seja executado como o 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.
      3. 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.
        • Você deve definir o ID do Usuário antes de definir o ID do Grupo.
        • 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 ID do Usuário e ID do Grupo que você especifica valores de substituição definidos na imagem do contêiner. Quando o valor ID do Usuário não for especificado, o processo de ponto da entrada do contêiner será executado como usuário raiz.
      4. Em Configurar recursos do Linux, configure recursos do Linux para seu contêiner. Por padrão, o contêiner é iniciado com vários recursos que você pode selecionar para eliminar.

        Os campos Eliminar recursos e Adicionar 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 Descartar recursos e Adicionar recursos em branco, todos os recursos padrão estarão disponíveis para o seu contêiner.
        • Se você digitar TODOS no campo Eliminar recursos, o contêiner conterá apenas os recursos listados no campo Adicionar recursos.
        • Se você digitar TODOS no campo Adicionar recursos, todos os recursos estarão disponíveis, exceto aqueles listados no campo Eliminar recursos, e o contêiner ignorará TODOS no campo Eliminar recursos.
        • Para casos em que nem o campo Descartar recursos nem o campo Adicionar recursos têm o valor TODOS, todos os recursos listados no campo Descartar recursos são eliminados do conjunto padrão e os recursos listados no campo Adicionar recursos são adicionados, tornando-se a lista final de recursos do contêiner.
        • A criação da instância de contêiner falhará se você fornecer algum recurso que não esteja na seguinte lista:
        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.
    7. Selecione Adicionar.
    8. Para configurar outro contêiner na instância, selecione Adicionar contêiner e repita as etapas anteriores.
    9. Selecione Próximo para revisar a instância do contêiner e seus contêineres.

    Revisar Detalhes

    1. Revisar suas seleções.
    2. Selecione Editar para retornar a uma seção e alterar sua configuração.
    3. Selecione Criar para criar a instância do contêiner.

      Depois que a instância do contêiner é criada, a página de detalhes da instância do contêiner é exibida. Consulte Detalhes da Instância do Contêiner.

  • 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.