Conteneurs
Lister les conteneurs
# Lister les conteneurs actifs
docker container ls
# Ou bien
docker ps
# Lister tous les conteneurs
docker container ls -aLancement d'un conteneur : docker run
docker run nginx:1.24Un conteneur est créé à partir de l'image de Nginx récupérée sur le Docker hub.
Dans ce cas, le lancement se fait en avant-plan et le choix du nom du conteneur est laissé à Docker.
Voici des exemples de surcharges possibles à l'aide d'options dans la commande :
# Nommage du conteneur en "www" avec --name
docker run --name www nginx:1.24
# Lancement en mode "détaché",
# c'est-à-dire en arrière plan avec --detach ou -d
docker run --detach --name www nginx:1.24
docker run -d --name www nginx:1.24
# Suppression automatique du conteneur une fois arrêté avec --rm
docker run --detach --name www --rm nginx:1.24Lancement en tant qu'un autre utilisateur
docker run --user <user> <image>Info
<user> peut être un nom d'utilisateur ou un UID. Pour connaître l'UID d'un utilisateur, on peut utiliser la commande id -u <user>.
Lancement d'un conteneur en mode interactif
De nombreuses images initient des conteneurs avec un processus shell (Debian, Ubuntu, Busybox, Alpine, etc.). Pour obtenir un conteneur interactif, il faut fournir l'option -it :
docker run -it --name busy busyboxUne fois la session terminée, le conteneur passe en statut "exited". Il est possible de le relancer par :
docker start -i busySurcharge pour un conteneur en arrière-plan et en attente :
docker run --detach --rm --name busy busybox sleep infinityLancement d'une commande au sein d'un conteneur en exécution :
docker exec -it busy sh
docker exec busy dateAutres commandes
# Lister les conteneurs actifs (les 2 commandes sont équivalentes)
docker container ls
docker ps
# Lister tous les conteneurs, même inactifs
docker ps -a
# Lister tous les identifiants des conteneurs
docker ps -aq
# Supprimer les conteneurs arrêtés
docker container prune
# Supprimer tous les conteneurs
docker rm -f $(docker ps -aq)