Creazione di un'istanza contenitore

Per creare un'istanza contenitore, attenersi alla procedura riportata di seguito.

Prima di creare un'istanza del contenitore, considerare i requisiti riportati di seguito.
  • Quando crei un'istanza contenitore, vengono coinvolte diverse altre risorse, ad esempio un'immagine, una rete cloud e una subnet. Tali risorse possono trovarsi nello stesso compartimento dell'istanza o in altri compartimenti. Per creare l'istanza, è necessario disporre del livello di accesso richiesto a ciascun compartimento coinvolto. Vedere Criterio IAM necessario.
  • Quando si specifica un'immagine contenitore, il registro in cui risiede l'immagine deve essere raggiungibile dalla subnet fornita per l'istanza del contenitore. Se l'immagine del contenitore risiede in OCI Container Registry, specificare l'immagine in una subnet in una rete cloud virtuale (VCN) con un gateway di servizi. Se l'immagine del contenitore risiede in un registro esterno ospitato nella rete Internet pubblica, specificare l'immagine in una subnet pubblica in una rete VCN con un gateway Internet o in una subnet privata in una rete VCN con un gateway NAT (Network Address Translation).

Importante

Puoi creare un massimo di 60 container su ogni istanza del contenitore.
  • Per creare un'istanza di contenitore, effettuare le operazioni riportate di seguito.

    1. Passare alla pagina dell'elenco Istanze contenitore. Se è necessaria assistenza per trovare la pagina della lista, vedere Elenca istanze contenitore.
    2. Selezionare Crea istanza contenitore.
    3. Compilare le informazioni per i passi numerati come indicato di seguito.

    1. Aggiungere dettagli di base

    • Nome: immettere un nome per l'istanza del contenitore. È possibile aggiungere o modificare il nome in un secondo momento. Il nome non deve essere univoco perché un OCID (Oracle Cloud Identifier) identifica in modo univoco l'istanza del contenitore. Evitare di fornire informazioni riservate.
    • Crea nel compartimento: selezionare il compartimento in cui creare l'istanza. Le altre risorse scelte possono provenire da compartimenti diversi.

    Tag

    Nella sezione Tag aggiungere tag all'istanza del contenitore. Se si dispone delle autorizzazioni per creare una risorsa, si dispone anche delle autorizzazioni per applicare tag in formato libero a tale risorsa. Per applicare una tag definita, è necessario disporre delle autorizzazioni per utilizzare lo spazio di nomi tag. Per ulteriori informazioni sull'applicazione di tag, vedere Tag risorsa. Se non si è certi di applicare le tag, saltare questa opzione o chiedere all'amministratore. È possibile applicare le tag in un secondo momento.

    Posizionamento

    Nella sezione Posizionamento selezionare le opzioni riportate di seguito.

    • Dominio di disponibilità: selezionare il dominio che si desidera creare l'istanza.
    • Dominio di errore (facoltativo): per impostazione predefinita, il sistema seleziona automaticamente un dominio di errore. In alternativa, selezionare il dominio di errore da utilizzare per l'istanza. Per ulteriori informazioni, vedere Fault Domains.

    Forma

    Nella sezione Forma, scegliere la forma flessibile per l'istanza del contenitore. Le forme flessibili hanno un numero personalizzabile di OCPU e una quantità di memoria. Selezionare Modifica forma per apportare modifiche alla forma.

    • Numero di OCPU: per Numero di OCPU, selezionare il numero di OCPU che si desidera allocare a questa istanza trascinando il dispositivo di scorrimento. Le altre risorse si adattano proporzionalmente.
    • Importo della memoria (GB): per Importo della memoria (GB), selezionare la quantità di memorie che si desidera allocare a questa istanza trascinando il dispositivo di scorrimento. La quantità di memoria consentita si basa sul numero di OCPU selezionate.

    Networking

    Nella sezione Networking è possibile configurare i dettagli di rete per l'istanza:
    Nota

    Per consentire il traffico di rete alle applicazioni in esecuzione nel contenitore, sarà necessaria una regola di sicurezza come parte di una lista di sicurezza o di un gruppo di sicurezza di rete. Ad esempio, se l'applicazione viene eseguita sulla porta TCP 8080, è necessaria una regola di sicurezza per TCP e porta 8080. Per informazioni sulla configurazione delle regole di sicurezza, vedere Regole di sicurezza.
    • Rete primaria:

      Selezionare una delle seguenti opzioni:

      • Seleziona rete cloud virtuale esistente: selezionare una VCN esistente.
      • Crea nuova rete cloud virtuale: crea una VCN in questa finestra di dialogo.
      • Immettere l'OCID della subnet: immettere l'OCID per una VCN esistente.

      Compilare i campi riportati di seguito.

      • Compartimento di rete cloud virtuale: selezionare il compartimento.
      • Rete cloud virtuale: seleziona la tua VCN.
    • Subnet

      Subnet all'interno della rete cloud a cui è collegata l'istanza. Le subnet sono pubbliche o private. Privato indica che le istanze in tale subnet non possono avere indirizzi IP pubblici. Per ulteriori informazioni, vedere Accesso a Internet. Le subnet possono anche essere specifiche del dominio di disponibilità o regionali. Quelli regionali hanno "regionale" dopo il nome. Si consiglia di utilizzare le subnet regionali. Per ulteriori informazioni, vedere Informazioni sulle subnet regionali.

      Selezionare un'opzione di subnet:

      • Selezionare la subnet esistente: selezionare il compartimento e la subnet.
      • Crea nuova subnet pubblica: immettere le informazioni riportate di seguito.
        • Nuovo nome subnet: nome per la subnet. Evitare di fornire informazioni riservate.
        • Compartimento della subnet: il compartimento in cui si desidera inserire la subnet.
        • Blocco CIDR: un singolo blocco CIDR contiguo per la subnet (ad esempio, 172.16.0.0/24). Assicurati che si trovi all'interno del blocco CIDR della rete cloud e che non si sovrapponga ad altre subnet. Non è possibile modificare questo valore in un secondo momento. Vedere Intervalli di dimensioni e indirizzi VCN consentiti. Per riferimento, ecco un calcolatore CIDR.
    • Indirizzo IPv4 pubblico

      Selezionare un'opzione:

      • Assegnare un indirizzo IPv4 pubblico: per assegnare all'istanza un indirizzo IP pubblico. Un indirizzo IP pubblico rende l'istanza accessibile da Internet. Per ulteriori informazioni, vedere Accesso a Internet.
      • Non assegnare un indirizzo IPv4 pubblico: non viene assegnato alcun indirizzo IP pubblico.
    • Opzioni di rete avanzate

      Selezionare le opzioni di rete avanzate.

      • Utilizzare i gruppi di sicurezza di rete per controllare il traffico: selezionare questa opzione se si desidera aggiungere la VNIC primaria dell'istanza a uno o più gruppi di sicurezza di rete (NSG). Specificare quindi i gruppi NSG. Questa opzione è disponibile solo quando si utilizza una VCN esistente. Per ulteriori informazioni, vedere Gruppi di sicurezza di rete.
      • Abilita controllo di destinazione di origine: indica se il controllo di origine/destinazione è disabilitato nella VNIC.
      • Indirizzo IP privato: immettere un indirizzo IP privato disponibile a scelta dal CIDR della subnet. Se non si specifica un valore, l'indirizzo IP privato viene assegnato automaticamente.
      • Record DNS: specificare se assegnare un record DNS privato.
      • Nome host: immettere un nome host da utilizzare per il DNS all'interno della rete cloud. Questa opzione è disponibile solo se la VCN e la subnet dispongono entrambe di etichette DNS e si è scelto di assegnare un record DNS privato.

    Opzioni avanzate

    Configura le impostazioni avanzate per l'istanza contenitore.

    • Timeout di arresto grave (secondi): impostare il tempo di attesa dell'istanza del contenitore per l'arresto del sistema operativo prima dello spegnimento.
    • Criterio di riavvio del contenitore:

      È possibile impostare il criterio di riavvio per i contenitori in un'istanza contenitore quando vengono creati. Quando un singolo contenitore esce (arresto, riavvio o errore), il codice di uscita e l'ora di uscita sono disponibili nell'API e viene applicato il criterio di riavvio. Se tutti i container escono e non vengono riavviati, l'istanza del container si spegne.

      Selezionare una delle opzioni seguenti.

      • Sempre: i container vengono sempre riavviati, anche se vengono chiusi correttamente. "Sempre" è preferibile se si desidera assicurarsi che il contenitore sia sempre in esecuzione, ad esempio un server Web. Questa è l'impostazione predefinita.
      • Mai: i container non vengono mai riavviati, indipendentemente dal motivo dell'uscita.
      • In caso di errore: i contenitori vengono riavviati solo se vengono chiusi con un errore. "In caso di errore" è preferibile se si desidera eseguire un determinato task e assicurarsi che venga completato con successo.

    Selezionare Successivo per configurare i contenitori all'interno dell'istanza del contenitore.

    2. Configurare i contenitori

    Compilare le seguenti informazioni sul contenitore.

    • Nome: immettere un nome per il primo contenitore. È possibile aggiungere o modificare il nome in un secondo momento. Il nome non deve essere univoco perché un OCID (Oracle Cloud Identifier) identifica in modo univoco il contenitore. Evitare di fornire informazioni riservate.
    • Immagine:

      Selezionare Seleziona immagine, quindi effettuare le operazioni riportate di seguito.

      Selezionare un'origine immagine:

      • OCI Container Registry: OCI Registry, noto anche come Container Registry, è un registro gestito da Oracle che consente di memorizzare, condividere e gestire le immagini dei container. Per ulteriori informazioni, vedere Container Registry.
      • Registro esterno: un registro esterno, ad esempio Docker Hub, in cui è possibile scegliere un'immagine fornita da fornitori di terze parti.

        Segreto del vault OCI: puoi ospitare le immagini dei container in registri privati o repository che richiedono l'autorizzazione per estrarre le immagini. Ti consigliamo di memorizzare le tue credenziali utilizzando il servizio Oracle Cloud Infrastructure Vault per una maggiore sicurezza e una maggiore facilità di gestione delle credenziali. Per ulteriori informazioni, vedere Vault Secrets for Image Pull Authorization.

    • Variabili di ambiente

      Impostare le variabili ambientali utilizzate dal contenitore.

      Le immagini dei contenitori supportano le variabili di ambiente per personalizzarne l'esecuzione. Ad esempio, l'immagine NGINX ufficiale supporta le variabili di ambiente NGINX_HOST e NGINX_PORT, in modo da poter impostare il valore per personalizzare l'esecuzione alle seguenti variabili:

      NGINX_HOST=foobar.com
      NGINX_PORT=80
    • Risorse: è possibile configurare la quantità di risorse consumata dal contenitore in assoluti o percentuali. Per impostazione predefinita, il contenitore può utilizzare tutte le risorse nell'istanza del contenitore.
    • Opzioni di avvio: è possibile configurare la directory di lavoro e gli argomenti ENTRYPOINT per il contenitore.
    • Sicurezza: è possibile specificare le impostazioni di sicurezza del contenitore.
      • Selezionare la casella di controllo Abilita file system radice di sola lettura per applicare l'accesso di sola lettura al file system radice del contenitore.
      • Selezionare la casella di controllo Esegui come utente non root per assicurarsi che il contenitore non venga eseguito come utente root.
        • Quando si abilita Esegui come utente non root, il valore ID utente non può essere impostato su 0.
      • Utilizzare i campi ID utente e ID gruppo per impostare l'ID utente (ID) e l'ID gruppo (GID) per eseguire il processo del punto di accesso del contenitore.
        • Il valore per ID utente e ID gruppo deve essere un numero intero compreso tra 0 e 65535. Il valore predefinito è zero.
        • I valori ID utente e ID gruppo specificati per i valori di override impostati nell'immagine del contenitore. Quando il valore ID utente non viene specificato, il processo entrypoint del contenitore viene eseguito come utente root.
        • È necessario impostare l'ID utente prima di impostare l'ID gruppo.
      • Nella sezione Configura funzionalità Linux è possibile configurare le funzionalità Linux per il contenitore. Per impostazione predefinita, il contenitore viene avviato con diverse funzionalità che è possibile scegliere di eliminare.

        Sia il campo Aggiungi funzionalità che il campo Elimina funzionalità supportano il valore ALL, che consente o elimina tutte le funzionalità. Il valore ALL si riferisce alle funzionalità Linux abilitate per impostazione predefinita.

        • Se si lasciano vuoti sia le opzioni Aggiungi capacità che Elimina capacità, tutte le funzionalità predefinite sono disponibili per il contenitore.
        • Se si immette ALL nel campo Aggiungi funzionalità, tutte le funzionalità sono disponibili ad eccezione di quelle elencate nel campo Elimina funzionalità e ignora ALL nel campo Elimina funzionalità.
        • Se si immette TUTTI nel campo Funzionalità di eliminazione, il contenitore contiene solo le funzionalità elencate nel campo Aggiungi capacità.
        • In altri casi, elimina tutte le funzionalità dal set predefinito elencato nel campo Funzioni di rilascio, quindi aggiunge le funzionalità elencate nel campo Aggiungi funzionalità e infine restituisce il risultato come capacità per il contenitore.
        • La creazione dell'istanza del contenitore non riesce se si forniscono funzionalità non incluse nella lista riportata di seguito.
        Tutte le funzionalità Linux abilitate per impostazione predefinita quando si crea un contenitore
        Capacità descrizione
        CAP_CHOWN Apporta modifiche agli UID e ai GID del file.
        CAP_DAC_OVERRIDE Controllo discrezionale dell'accesso (DAC) che ignora i controlli delle autorizzazioni di lettura, scrittura ed esecuzione dei file.
        CAP_FSETID
        • Non cancella i bit di modalità set-user-ID e set-group-ID quando un file viene modificato.
        • Imposta il bit set-group-ID per un file il cui GID non corrisponde al file. system o a uno qualsiasi dei GID supplementari del processo chiamante.
        CAP_FOWNER Ignora i controlli delle autorizzazioni per le operazioni che normalmente richiedono che l'UID del file system del processo corrisponda all'UID del file, esclude le operazioni coperte da CAP_DAC_OVERRIDE e CAP_DAC_READ_SEARCH.
        CAP_MKNOD Crea file speciali utilizzando mknod(2).
        CAP_NET_RAW
        • Utilizza prese RAW e PACKET.
        • Associa a qualsiasi indirizzo per il proxy trasparente.
        CAP_SETGID
        • Esegue manipolazioni dei GID di processo e dell'elenco GID supplementare.
        • Forgia il GID durante il passaggio delle credenziali socket tramite socket di dominio UNIX.
        • Scrive un mapping di ID gruppo in uno spazio di nomi utente.
        CAP_SETUID
        • Crea manipolazioni di UID di processo.
        • Forgia l'UID durante il passaggio delle credenziali socket tramite socket di dominio UNIX.
        • Scrive un mapping di ID utente in uno spazio di nomi utente.
        CAP_SETFCAP Imposta le capacità del file.
        CAP_SETPCAP Se le capacità del file non sono supportate, concede o rimuove qualsiasi capacità nella capacità consentita del chiamante impostata su o da qualsiasi altro processo.
        CAP_NET_BIND_SERVICE Associa un socket alle porte con privilegi di dominio Internet (numeri di porta inferiori a 1024).
        CAP_SYS_CHROOT Utilizza chroot(2) per passare a una directory radice diversa.
        CAP_KILL Ignora i controlli delle autorizzazioni per l'invio dei segnali, che includono l'uso dell'operazione ioctl(2) KDSIGACCEPT.
        CAP_AUDIT_WRITE Scrive i record nel log di controllo del kernel.
    • Per configurare un altro contenitore nell'istanza, fare clic su + Altro contenitore e ripetere i passi precedenti.

    Selezionare Successivo per esaminare l'istanza del contenitore e i relativi contenitori.

    Revisione

    Rivedere le selezioni.

    Selezionare Crea.

  • Utilizzare il comando oci container-instances container-instance create per creare un'istanza contenitore. Per utilizzare questo comando, sostituire compartment_ocid, logical_ad e subnetId con le risorse.

    $ 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"

    Per un elenco completo dei flag e delle opzioni variabili per i comandi CLI, vedere Command Line Reference.

  • Utilizzare l'operazione CreateContainerInstance.