====== Aide mémoire Docker ====== ^Action ^ Ligne de commande ^ |Construction d'une image à partir d'un Dockerfile | `docker build -t [--no-cache=true] ` | |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 ` | |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 "`| ==== 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