Aide mémoire Docker
Action | Ligne de commande |
---|---|
Construction d'une image à partir d'un Dockerfile | docker build -t [--no-cache=true] <tagName> <chemin vers le dossier contenant le fichier Dockerfile> |
Stop et suppression de tout les conteneurs | docker stop $(docker ps -a -q) ; docker rm $(docker ps -a -q) |
Suppression des conteneurs exited | docker rm -v $(docker ps --filter status=exited -q 2>/dev/null) 2>/dev/null |
Lancer une commande sur un conteneur déjà lancé | docker exec -it <containerIdOrName> <command> |
Suppression de toutes les images | docker rmi $(docker images -a -q) |
Supprimer les images non taguées | docker rmi $(docker images --filter dangling=true -q 2>/dev/null) 2>/dev/null |
Connaitre l'ip d'un conteneur démarré | docker inspect --format="{{.NetworkSettings.IPAddress}}" |
Configuration d'un compte Linux pour utiliser Docker en non root | sudo gpasswd -a ${USER} docker ; sudo service docker restart |
Déplacer le répertoire d'image et de conteneurs de Docker (par défaut sous Ubuntu, Debian /var/lib/docker ) | Dans /etc/default/docker , ajouter la ligne DOCKER_OPTS="-g <nouveau répertoire>" |
Mise à jour des conteneurs de docker-compose.yml
Placez-vous tout d’abord dans le répertoire contenant votre fichier docker-compose.yml et mettez à jour l’image associée en exécutant la commande suivante :
docker-compose pull
Relancez les containers :
docker-compose up -d --remove-orphans
Supprimez les images obsolètes :
docker image prune
Backup & Restore d'une base de données
# Backup docker exec CONTAINER /usr/bin/mysqldump -u root -proot DATABASE > backup.sql
# Restore cat backup.sql | docker exec -i CONTAINER /usr/bin/mysql -u root -proot DATABASE
Accéder au host depuis un conteneur
docker network create -d bridge --subnet 192.168.0.0/24 --gateway 192.168.0.1 dockernet
A partir de là, le host est accessible à l'adresse 192.168.0.1
version: '2' services: db: image: some/image networks: - dockernet networks: dockernet: external: true