Aller au contenu principal
Kill -9 Club
Se connecter

docker

ConteneursPaquet : docker-ce-cliÀ manier avec soin

Construit et fait tourner des conteneurs. docker ps, docker logs et docker exec sont le trio du dépannage ; docker compose décrit plusieurs conteneurs dans un fichier plutôt que dans une ligne de commande de deux cents caractères.

Une erreur avec cette commande peut détruire des données ou vous couper l'accès

  • docker system prune -a --volumes et docker rm -v détruisent des volumes, donc des données. Et un port publié par Docker est ouvert depuis l'extérieur même si ufw le refuse : Docker écrit ses propres règles devant celles d'ufw.

Ce que font ses options dans les leçons

Tiré du même glossaire que les leçons affichent sous leurs commandes ; les deux ne peuvent pas se contredire.

docker -d
Détaché : le conteneur tourne en arrière-plan.
docker -i
Garde l'entrée standard ouverte.
docker -t
Alloue un pseudo-terminal. -it ensemble donnent une session interactive.
docker -a
Avec docker ps, inclut les conteneurs arrêtés.
docker -p
Publie un port du conteneur sur l'hôte (-p 127.0.0.1:5432:5432). Préciser l'adresse évite d'exposer le service à tout le réseau.
docker -v
Monte un volume ou un répertoire de l'hôte dans le conteneur.
docker --name
Nomme le conteneur, au lieu du nom aléatoire attribué par défaut.
docker --rm
Supprime le conteneur dès qu'il s'arrête, pour ne pas accumuler les conteneurs morts.
docker --memory
La mémoire maximale que le conteneur peut utiliser (--memory=512m). La plus petite valeur acceptée est 6m. Au plafond, l'OOM killer est déclenché dans le cgroup du conteneur, pas sur l'hôte.
docker --cpus
La part de processeur accordée au conteneur. Sur un hôte à deux processeurs, --cpus=1.5 en accorde au plus un et demi. Un dépassement fait attendre le conteneur, il ne le tue pas.
docker --no-stream
Sur docker stats, affiche un seul relevé puis rend la main, au lieu de rafraîchir en continu. La forme utilisable dans un script ou collée dans un ticket.
docker --format
Un gabarit Go plutôt que la fiche complète : docker inspect --format '{{.State.ExitCode}}' ne renvoie que le champ demandé.
docker --filter
Restreint la liste à ce qui correspond. docker ps -a --filter 'exited=137' ne montre que les conteneurs terminés par SIGKILL.
docker compose -d
Détaché : les services tournent en arrière-plan.
docker compose -f
Le fichier compose à utiliser, quand ce n'est pas celui du répertoire courant.
docker compose --build
Reconstruit les images avant de démarrer.
docker compose -v
Sur down, supprime aussi les volumes nommés du projet, donc les données. C'est la seule option de cette leçon qui détruit quelque chose d'irrécupérable.
docker compose -q
N'affiche que les identifiants des conteneurs, un par ligne, au lieu du tableau complet. Utile pour comparer l'identifiant avant et après un up -d et savoir si le conteneur a réellement été recréé.
docker --password-stdin
Lit le mot de passe sur l'entrée standard au lieu de l'attendre en argument. Le secret ne passe donc ni par l'historique du shell ni par la liste des processus, où ps le donnerait à tout utilisateur de la machine.
docker -u
Nomme le compte avec lequel s'authentifier auprès du registre. Sur un serveur, c'est un compte robot ou un jeton de déploiement, jamais le compte d'une personne.

Les leçons qui l'enseignent