Criando uma Instância de Contêiner
Crie uma instância de contêiner.
Você pode criar no máximo 60 contêineres em cada instância de contêiner.
- Quando você cria uma instância de contêiner, vários outros recursos estão envolvidos, como uma imagem, uma rede na nuvem e uma sub-rede. Esses recursos podem estar no mesmo compartimento que a 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).
Para criar uma instância de contêiner, siga estas etapas:
-
Abra o menu de navegação e clique em Serviços ao Desenvolvedor. Em Containers & Artifacts, clique em Container Instances.
- Clique em Create container instance.
- 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 exclusivamente a instância do contêiner. Evite digitar informações confidenciais.
- Selecione o compartimento no qual criar a instância. Os outros recursos escolhidos podem vir de diferentes compartimentos.
- Em Colocação, selecione as seguintes opções:
- Selecione o domínio de disponibilidade no qual você deseja criar a instância.
-
(Opcional) Se quiser especificar um domínio de falha, clique em Mostrar opções avançadas. Em seguida, para o domínio de falha, selecione o domínio de falha a ser usado para a instância. Se você não especificar o domínio de falha, o sistema selecionará um para você. Você poderá editar o domínio de falha depois de criar a instância. Para obter mais informações, consulte Domínios de Falha.
Em 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 quantidade de memória.
- Para Número de OCPUs, selecione o número de OCPUs que você deseja alocar para esta instância arrastando o controle deslizante. Os outros recursos são dimensionados proporcionalmente.
- Para Quantidade de memória (GB), selecione a quantidade de memória que deseja alocar para essa instância arrastando o controle deslizante. A quantidade de memória permitida é baseada no número de OCPUs selecionadas.
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 seu aplicativo for executado no protocolo TCP, porta 8080, você precisará de uma regra de segurança para TCP e porta 8080. Para obter informações sobre a configuração de regras de segurança, consulte Regras de Segurança.- Para rede principal e Sub-rede, especifique a rede virtual na nuvem (VCN) e a sub-rede em que a instância será criada. Decida se deseja usar uma VCN e uma sub-rede existentes, criar uma nova VCN ou sub-rede ou digitar o OCID de uma sub-rede existente:
- Selecionar rede virtual na nuvem existente: Selecione esta opção e digite as informações a seguir.
- Rede virtual na nuvem: A rede em nuvem na qual criar a instância.
- 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.
- Para usar uma sub-rede existente, selecione Selecionar sub-rede existente e, em seguida, selecione a sub-rede.
- Para criar uma sub-rede, selecione Criar uma nova sub-rede pública e digite as seguintes informações:
- Novo nome da sub-rede: Um nome para o subnedt. Evite digitar informações confidenciais.
- Criar no compartimento: O compartimento onde você deseja colocar a sub-rede.
- Bloco CIDR: Um único bloco CIDR contínuo, 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 posteriormente. Consulte Tamanho da VCN e intervalos de endereços permitidos. Para referência, verifique a calculadora de CIDR.
- Criar nova rede virtual na nuvem: Selecione esta opção e especifique as informações a seguir.
- Nome da nova rede virtual na nuvem: Um nome para a sub-rede. Um nome simples para a rede. Evite digitar informações confidenciais.
- Criar no compartimento: O compartimento no qual você deseja colocar a nova rede.
- Criar uma nova sub-rede pública: Uma sub-rede dentro da rede na nuvem à qual a instância será 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.
- Novo nome da sub-rede: Um nome para a sub-rede. Ele não precisa ser exclusivo e pode ser alterado posteriormente. Evite digitar informações confidenciais.
- Criar no compartimento: O compartimento onde você deseja colocar a sub-rede.
- Bloco CIDR: Um único bloco CIDR ininterrupto 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 posteriormente. Consulte Tamanho da VCN e intervalos de endereços permitidos e estacalculadora CIDR.
Enter subnet OCID: Selecione esta opção e, em seguida, digite o OCID da sub-rede.
- (Opcional) Se a sub-rede for pública, selecione Designar um endereço IPv4 público para designar a uma 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.
-
(Opcional) Para configurar definições avançadas de rede, clique em Mostrar opções avançadas e especifique as seguintes opções, conforme necessário:
- 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. Essa opção só está disponível quando você usa uma VCN existente. Para obter mais informações, consulte Grupos de Segurança de Rede.
- Endereço IP privado: Digite um endereço IP privado disponível à sua escolha no CIDR da sub-rede. Se você não especificar um valor, o endereço IP privado será designado automaticamente.
- Registro de DNS: Especifique se um registro de DNS privado deve ser designado.
- Nome do host: Informe um nome de host a ser usado para DNS na rede da nuvem Essa opção só estará disponível se a VCN e a sub-rede tiverem labels de DNS e você tiver selecionado a opção de designar um registro de DNS privado.
- Selecionar rede virtual na nuvem existente: Selecione esta opção e digite as informações a seguir.
- (Opcional) Para configurar definições avançadas para a instância do contêiner, clique em Mostrar opções avançadas e especifique as seguintes opções, conforme necessário:
- Na guia Opções avançadas, você pode configurar as seguintes opções:
- Timeout de shutdown gracioso (segundos): Defina o tempo que a instância do contêiner aguarda o shutdown do SO antes de desligar.
-
Política de reinicialização do contêiner: Selecione Always, Never ou On failure
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 tempo de saída estão disponíveis na API e a política de reinicialização é aplicada. Se todos os contêineres sair e não reiniciar, a instância do contêiner será submetida a shutdown.
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.
- Na guia 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 deve aplicar tags, ignore essa opção ou pergunte ao administrador. Você pode aplicar tags posteriormente.
- Na guia Opções avançadas, você pode configurar as seguintes opções:
- Clique em Próximo para configurar os contêineres dentro da instância do contêiner.
- 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.
-
Em Imagem, clique em Selecionar imagem e siga estas etapas no painel Imagem do contêiner para selecionar uma imagem do contêiner.
-
Selecione uma origem de imagem:
-
OCI Container Registry: O OCI Registry, também conhecido como Container Registry, é um registro gerenciado pela 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, no qual você pode escolher uma imagem fornecida por fornecedores de terceiros.
- Segredos do Vault para Autorização de Extração de Imagem: 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 Vault para Autorização de Extração da Imagem.
-
-
Selecionar uma imagem.
-
Clique em Selecionar imagem.Observação
Você deve criar uma política que selecione a imagem do contêiner. Consulte Selecionando a imagem do contêiner usando a Console.
-
-
Na seção Variáveis de ambiente, você pode definir as variáveis de 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
- Para configurar definições avançadas para o contêiner, clique em Mostrar opções avançadas e especifique as seguintes opções, conforme necessário:
- Na guia 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.
- Na guia Opções de inicialização, você pode configurar o diretório de trabalho e os argumentos ENTRYPOINT para o contêiner.
- Na guia 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 usuário raiz não execute o contêiner.
- 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ê informar 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.
- Clique em Próximo para revisar a instância do contêiner e seus contêineres.
- Clique em 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.