{{tag> sysadmin docker}}
====== Exécution d'un container ======
La commande **docker container run** possède de très nombreuses options. Elle permet d'exécuter une commande dans un nouveau conteneur.
Ci-dessous quelques options usuelles et des exemples de création de conteneurs:
^ Option ^ Description |
^ --tty, -t | Allouer un pseudo terminal au conteneur. |
^ --interactive, -i | Conserve le flux stdin ouvert. |
^ --detach, -d | Exécution du conteneur en arrière plan. |
^ --volume, -v | lier, monter un volume entre l’hôte et le conteneur |
^ --publish, -p | Publier, connecter les ports du conteneur et de l’hôte. |
^ --env, -e | Définir les variables d'environnement. |
^ --name | Définir un nom pour le conteneur. |
^ --rm | Supprime le conteneur en fin d'exécution. |
^ --workdir, -w | définir le répertoire de travail dans le conteneur. |
^ --link | Ajouter un lien vers un autre conteneur. |
docker container run --interactive --tty --rm busybox
Dans l' exemple ci-dessus, on crée un conteneur en mode interactif. Il sera supprimé en fin d'exécution. L'image utilisée est busybox, comme la version n'est pas spécifiée le tag latest sera utilisé.
docker container run --tty -v $(pwd):/usr/local/bin -w /usr/local/bin busybox sh ./script.sh
Dans l'exemple ci-dessus on utilise l'option -v pour monter le répertoire courant de l’hôte contenant le fichier script.sh sur le répertoire /usr/local/bin du conteneur. Le répertoire de travail sur le conteneur est définit via l'option -w et le script script.sh est lancé dans le conteneur.
docker container run --detach --env APP_VERSION=0.33 \
--volume $(pwd):/usr/local/bin \
--workdir /usr/local/bin \
busybox:latest sh ./script.sh
Dans l'exemple ci-dessus, le conteneur est lancé en arrière plan, une variable d'environnement APP_VERSION est créée, elle pourra être exploitée par le script.