Utilisation de l'image de conteneur d'interface de ligne de commande OCI
Cette section explique comment installer et utiliser l'image de conteneur de l'interface de ligne de commande OCI.
L'image de conteneur de l'interface de ligne de commande (CLI) Oracle Cloud Infrastructure (OCI) est une image Docker dont les outils de l'interface de ligne de commande OCI sont préinstallés. Cette section explique comment installer et utiliser l'image de conteneur de l'interface de ligne de commande OCI.
Exigences
Pour utiliser l'image de conteneur de l'interface de ligne de commande OCI, vous devez disposer des éléments suivants :
- Un moteur d'exécution de conteneur conforme aux normes, tel que Docker ou Podman.
- Une location Oracle Cloud Infrastructure.
- Un compte utilisateur dans cette location appartenant à un groupe auquel des stratégies appropriées ont été affectées pour accorder les droits d'accès requis.
- Une paire de clés utilisée lors de la signature des demandes d'API, avec la clé publique téléchargée vers Oracle. Seul l'utilisateur appelant l'API doit disposer de la clé privée. Pour plus d'informations, reportez-vous à Configuration de l'interface de ligne de commande.
Pour obtenir des exemples de configuration d'un nouvel utilisateur, d'un nouveau groupe, d'un nouveau compartiment et d'une nouvelle stratégie, reportez-vous à Ajout d'utilisateurs. Pour obtenir la liste des autres stratégies OCI standard, consultez la liste des stratégies courantes.
Utilisation de l'image de conteneur de l'interface de ligne de commande OCI
$ 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
afin d'en faire un remplacement plus fluide :$ 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"
}
Authentification par clé de signature d'API
Il s'agit de la méthode d'authentification par défaut utilisée par tous les kits SDK OCI et par l'interface de ligne de commande OCI. Pour utiliser cette méthode, montez un emplacement sur le système hôte vers le répertoire /oracle/.oci
dans le conteneur.
Si vous avez précédemment configuré l'interface de ligne de commande OCI sur la machine hôte, le moyen le plus simple de fournir l'accès à votre clé de signature d'API consiste à mettre en correspondance votre répertoire $HOME/.oci
avec /oracle/.oci/
dans le conteneur.
$ docker run --rm -it -v "$HOME/.oci:/oracle/.oci" ghcr.io/oracle/oci-cli os ns get
{
"data": "example"
}
Vous pouvez également transmettre la variable d'environnement OCI_CLI_CONFIG_FILE
afin d'utiliser un autre emplacement pour le fichier config
de l'interface de ligne de commande OCI.
Assurez-vous que le champ
key_file
dans $HOME/.oci/config
utilise le caractère ~
afin que le chemin soit résolu à l'intérieur et à l'extérieur du conteneur, par exemple : 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
Pour plus d'informations, reportez-vous à Configuration du fichier de configuration.
Authentification par jeton de session
docker run --rm -it \
-v "$HOME/.oci:/oracle/.oci" \
-p 8181:8181 \
ghcr.io/oracle/oci-cli session authenticate
Pour plus d'informations, reportez-vous à Authentification basée sur un jeton pour l'interface de ligne de commande.
Authentification par principal d'instance
--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
Si vous avez créé un alias de shell, ajoutez-le à la définition de l'alias.
Pour plus d'informations, reportez-vous à Méthodes d'authentification du kit SDK OCI.
Accès aux fichiers locaux
Le moyen le plus simple de permettre à l'interface de ligne de commande OCI exécutée dans le conteneur d'accéder aux fichiers sur l'hôte consiste à effectuer un montage de liaison sur un répertoire de l'hôte vers le conteneur.
$HOME/scratch
fait l'objet d'un montage de liaison tant que /oracle/scratch
dans le conteneur de sorte que les fichiers de ce répertoire puissent être téléchargés en masse vers OCI Object Storage à l'aide de l'interface de ligne de commande 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/
Création à partir de la source
Le code source requis pour créer l'image de conteneur de l'interface de ligne de commande OCI est disponible à l'adresse https://github.com/oracle/docker-images/tree/main/OracleCloudInfrastructure/oci-CLI.