Utilizzo dell'immagine contenitore OCI CLI
In questa sezione viene descritto come installare e utilizzare OCI CLI Container Image.
L'immagine del contenitore CLI (Command Line Interface) di Oracle Cloud Infrastructure (OCI) è un'immagine Docker con gli strumenti CLI OCI preinstallati. In questa sezione viene descritto come installare e utilizzare OCI CLI Container Image.
Requisiti
Per utilizzare l'immagine del contenitore dell'interfaccia CLI OCI, è necessario disporre dei seguenti elementi:
- Un motore di runtime dei container conforme agli standard, come Docker o Podman
- Una tenancy di Oracle Cloud Infrastructure
- Account utente nella tenancy che appartiene a un gruppo a cui sono stati assegnati i criteri appropriati per concedere le autorizzazioni necessarie.
- Una coppia di chiavi utilizzata per firmare le richieste API, con la chiave pubblica caricata in Oracle. Solo l'utente che chiama l'API deve possedere la chiave privata. Per ulteriori informazioni, vedere Configurazione dell'interfaccia CLI.
Per esempi su come impostare un nuovo utente, gruppo, compartimento e criterio, vedere Aggiunta di utenti. Per un elenco di altri criteri OCI tipici, consulta la lista di criteri comuni.
Uso dell'immagine del contenitore OCI CLI
$ docker pull ghcr.io/oracle/oci-cli:latest
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ghcr.io/oracle/oci-cli latest 387639e80a9a 3 days ago 711MB
oci
per renderla una sostituzione drop-in più semplice:$ docker tag ghcr.io/oracle/oci-cli:latest oci
$ docker images oci
REPOSITORY TAG IMAGE ID CREATED SIZE
oci latest 387639e80a9a 3 days ago 711MB
$ docker run -v "$HOME/.oci:/oracle/.oci" oci os ns get
{
"data": "demo-tenancy"
}
$ alias oci='docker run --rm -it -v "$HOME/.oci:/oracle/.oci" oci'
$ oci os ns get
{
"data": "demo-tenancy"
}
Autenticazione della chiave di firma API
Si tratta del metodo di autenticazione predefinito utilizzato da tutti gli SDK OCI e dall'interfaccia CLI OCI. Per utilizzare questo metodo, attivare una posizione sul sistema host nella directory /oracle/.oci
all'interno del contenitore.
Se in precedenza è stata configurata l'interfaccia CLI OCI nel computer host, il modo più semplice per fornire l'accesso alla chiave di firma API è mappare la directory $HOME/.oci
a /oracle/.oci/
all'interno del contenitore.
$ docker run --rm -it -v "$HOME/.oci:/oracle/.oci" ghcr.io/oracle/oci-cli os ns get
{
"data": "example"
}
È inoltre possibile passare la variabile di ambiente OCI_CLI_CONFIG_FILE
per utilizzare una posizione diversa per il file config
dell'interfaccia CLI OCI.
Assicurarsi che il campo
key_file
in $HOME/.oci/config
utilizzi il carattere ~
in modo che il percorso venga risolto sia all'interno che all'esterno del contenitore, ad esempio: key_file=~/.oci/oci_api_key.pem
. $HOME/.oci
:mkdir $HOME/.oci
docker run --rm -it -v "$HOME/.oci:/oracle/.oci" ghcr.io/oracle/oci-cli setup config
Per ulteriori informazioni, vedere Impostazione del file di configurazione.
Autenticazione token sessione
docker run --rm -it \
-v "$HOME/.oci:/oracle/.oci" \
-p 8181:8181 \
ghcr.io/oracle/oci-cli session authenticate
Per ulteriori informazioni, vedere Autenticazione basata su token per l'interfaccia CLI.
Autenticazione principal dell'istanza
--auth instance_principal
:docker run --rm -it ghcr.io/oracle/oci-cli --auth instance_principal os ns get
OCI_CLI_AUTH
:docker run --rm -it -e OCI_CLI_AUTH=instance_principal ghcr.io/oracle/oci-cli os ns get
Se è stato creato un alias shell, aggiungerlo alla definizione alias.
Per ulteriori informazioni, vedere Metodi di autenticazione SDK OCI.
Accesso file locale
Il modo più semplice per consentire all'interfaccia CLI OCI in esecuzione all'interno del contenitore di accedere ai file sull'host è quello di associare il MOUNT di una directory dall'host al contenitore.
$HOME/scratch
viene attivata come bind come /oracle/scratch
nel contenitore in modo che i file all'interno di tale directory possano essere caricati in blocco nello storage degli oggetti OCI utilizzando l'interfaccia CLI OCI:docker run --rm -it \
-v "$HOME/.oci:/oracle/.oci" \
-v "$HOME/scratch:/oracle/scratch" \
ghcr.io/oracle/oci-cli os object bulk-upload -ns <namespace> -bn <bucket name> --src-dir /oracle/scratch/
Creazione da origine
Il codice sorgente necessario per creare l'immagine del contenitore CLI OCI è disponibile all'indirizzo https://github.com/oracle/docker-images/tree/main/OracleCloudInfrastructure/oci-cli.