Docker
Pense-bête
Surcharger un paramètre “ENTRYPOINT”
Si vous utilisez une image Docker dont le paramètre ENTRYPOINT
a été définie —
par exemple ENTRYPOINT ["/usr/sbin/mysqld"]
—, il y a une astuce pour lancer
un container basé sur cette image avec une autre commande que celle prévue pour
être exécutée en entrypoint : il faut redéclarer l’option --entrypoint
avec
la commande souhaitée et passer les options à ladite commande en arguments.
Par exemple, si l’on souhaite “inspecter” un container basé sur image Docker
mysql-server:5.5
prévue pour exécuter la commande /usr/sbin/mysqld
à l’aide
d’un shell Bash interactif (/bin/bash -s
) :
docker run --entrypoint=/bin/bash mysql-server:5.5 -s
Astuces
Effectuer une opération sur toute une série d’objets
Pour effectuer la même opération sur toute une série d’objets de même nature —
images, containers… — il est possible d’utiliser conjointement l’option -q
présente dans la plupart des contextes de listage, ce qui permet de n’afficher
que les références (ID) plutôt que l’intégralité des éléments. Il est ainsi
possible de piper cette liste de références à une autre sous-commande docker
via la commande xargs
. Voici quelques exemples :
Supprimer toutes les images :
docker images -qa | xargs docker rmi
(Re)démarrer/arrêter tous les containers :
docker ps -qa | xargs docker restart
docker ps -qa | xargs docker start
docker ps -qa | xargs docker stop
Supprimer toutes les images non taggées
docker images | awk '$1 ~ /none/ { print $3 }' | xargs docker rmi