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
  • Dernière modification: 13/03/2021 07:56