Guide des commandes essentielles de Docker

Gestion du service Docker

Pour démarrer le démon Docker :

sudo systemctl start docker

Recharger la configuration du démon :

sudo systemctl daemon-reload

Redémarrer le service :

sudo systemctl restart docker

Arrêter proprement le service :

sudo systemctl stop docker

Pour stopper ou forcer l’arrêt d’un conteneur :

docker stop <conteneur>
docker kill <conteneur>

Configuration de l’environnement

Installer un éditeur dans un conteneur basé sur Debian/Ubuntu :

apt-get update && apt-get install -y vim

Changer le miroir des dépôts APT :

sed -i 's|/archive.ubuntu.com/|/mirrors.aliyun.com/|g' /etc/apt/sources.list
apt-get clean
apt-get update
apt-get upgrade -y

Manipulation des images

Télécharger une image :

docker pull ubuntu:22.04

Rechercher une image sur le registre :

docker search postgresql

Lister les images locales :

docker images

Supprimer une ou plusieurs images :

docker rmi monimage:tag
docker rmi -f image1 image2
docker rmi -f $(docker images -q)

Ajouter un tag à une image locale :

docker tag ubuntu:22.04 monrepo/ubuntu:custom

Créer une image à partir d’un conteneur modifié :

docker run -it --name base ubuntu /bin/bash
# dans le conteneur
touch /app/test.txt
exit

docker commit -m "ajout du fichier test" -a "admin" base monimage:custom

Exporter une image dans une archive :

docker save -o monimage_backup.tar monimage:custom

Restauerr une image depuis une archive :

docker load -i monimage_backup.tar
# ou
docker load < monimage_backup.tar

Envoyer une image vers un registre :

docker tag monimage:custom utilisateur/monimage:v1
docker push utilisateur/monimage:v1

Gestion des conteneurs

Lancer un conteneur interactif :

docker run -it --name test ubuntu /bin/bash

Mapper un port hôte vers un port conteneur :

docker run -it -p 8080:80 nginx
docker run -it -P nginx

Démarrer un conteneur en arrière-plan :

docker run --name tache -d ubuntu /bin/sh -c "while true; do echo 'bonjour'; sleep 1; done"

Appliquer une politique de redémarrage automatique :

docker run --restart=unless-stopped --name tache -d ubuntu /bin/sh -c "while true; do echo 'bonjour'; sleep 1; done"

Ouvrir un shel dans un conteneur en cours d’exécution :

docker exec -it tache bash

Attacher le terminal au conteneur :

docker attach tache

Copier un fichier entre le conteneur et l’hôte :

docker cp tache:/app/fichier.txt ./fichier.txt

Consulter les journaux d’un conteneur :

docker logs tache
docker logs -f --tail 100 tache

Lister les processus d’un conteneur :

docker top tache

Supprimer un ou plusieurs conteneurs :

docker rm tache
docker rm -f $(docker ps -aq)

Volumes et persistance

Monter un volume entre l’hôte et le conteneur :

docker run -it -v /chemin/hote:/chemin/conteneur ubuntu

Monter un volume en lecture seule :

docker run -it -v /chemin/hote:/chemin/conteneur:ro ubuntu

Inspecsion et maintenance

Obtenir les détails d’une image ou d’un conteneur :

docker inspect <id_ou_nom>

Nettoyer tous les objets Docker inutilisés :

docker system prune -a --volumes

Export et import de conteneurs

Exporter un conteneur vers une archive :

docker export tache > tache_backup.tar

Importer une archive en tant qu’image :

cat tache_backup.tar | docker import - tache_importee:v1

Étiquettes: Docker Docker CLI conteneurisation Linux devops

Publié le 23 juillet à 06h37