Exécuter une commande dans un container
Exemple pour accéder à une ligne de commande de ce serveur
docker exec -it moncontainer bash
Exécuter les conteneurs d’un fichier docker-compose.yml
La commande s’éxecute en utilisant les infos du fichier présent dans le dossier courant. Le -d permet de lancer en mode persistant. Lancer cette commande une nouvelle fois permet de mettre à jour les conteneurs définis en fonction des données indiquées dans le docker-compose.yml
$ docker-compose up -d
Désinstaller Docker
sudo apt-get --purge remove docker docker-engine docker.io docker-ce
Afficher la liste des containers
$ docker ps -a
Supprimer une image
Supprime une image stockée localement. Attention, si c’est une image que vous avez vous-même créé assurez vous d’avoir une sauvegarde ; vous pouvez notamment en partager une sur le Hub de Docker.
docker rmi myimage
Arrêter et supprimer tous les containers
$ docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)
###Logs
https://docs.docker.com/config/containers/logging/configure/#configure-the-default-logging-driver
https://serverfault.com/questions/637996/clearing-deleting-docker-logs
https://stackoverflow.com/questions/41091634/how-to-clean-docker-container-logs
Afficher le contenus des logs
$ docker logs mon_container
Cette commande risque d’afficher pas mal d’historique. Pour y remédier il est possible de lancer cette commande qui restreindra l’affichage aux requêtes en cours. Noter le flag --details
qui permet d’afficher davantage de logs, notamment dans le cas d’un conteneur d’un serveur web par exemple, pour afficher les erreurs php.
docker logs --tail 20 -f --details mon_container
Lister l’espace occupé par les logs des conteneurs Docker
du -chs /var/lib/docker/containers/*/*json.log
Nettoyer les logs
echo "" > $(docker inspect --format='{{.LogPath}}' mon_container)
Afficher une liste de container filtrée
La commande docker ps
exporte souvent un liste de données bien trop large. Vous pouvez utiliser la commande suivante comme un modèle pour n’afficher que les colonnes qui vous sont utiles.
Pro tip : ajoutez cette commande en tant qu’alias dans votre fichier .bashrc
pour l’avoir toujours sous la main
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Names}}\t{{.Status}}"