# mariadb container 

docker search mariadb

docker pull mariadb/server:10.4

docker images


# Créer un conteneur

docker run --name mariadbtest -e MYSQL_ROOT_PASSWORD=mypass -d mariadb/server:10.4

# En option, après le nom de l'image, nous pouvons spécifier quelques options pour mysqld. Par exemple:
docker run --name mariadbtest -e MYSQL_ROOT_PASSWORD=mypass -d mariadb/server:10.4 --log-bin --binlog-format=MIXED

# Docker répondra avec l'identifiant du conteneur. Mais, juste pour être sûr que le conteneur a été créé et est en cours d'exécution, nous pouvons obtenir une liste des conteneurs en cours d'exécution de cette manière:
docker ps


docker restart mariadbtest
docker stop mariadbtest
docker start mariadbtest


# Avec l'arrêt de docker, le conteneur sera terminé en douceur: un signal SIGTERM sera envoyé au processus mysqld, et Docker attendra l'arrêt du processus avant de renvoyer le contrôle au shell. Cependant, il est également possible de définir un délai, après lequel le processus sera immédiatement tué avec un SIGKILL. Ou il est possible de tuer immédiatement le processus, sans délai.

docker stop --time=30 mariadbtest
docker kill mariadbtest

# Dans le cas où nous voulons détruire un conteneur, peut-être parce que l'image ne répond pas à nos besoins, nous pouvons l'arrêter puis l'exécuter:
docker rm mariadbtest


# Notez que la commande ci-dessus ne détruit pas le volume de données que Docker a créé pour /var/lib/mysql. Si vous souhaitez également détruire le volume, utilisez:
docker rm -v mariadbtest


# Automatic Restart
# Il est possible de modifier la politique de redémarrage des conteneurs existants, éventuellement en cours d'exécution:

docker update --restart always mariadb
# or, to change the restart policy of all containers:
docker update --restart always $(docker ps -q)

Suspendre les conteneurs
docker pause conteneur1 conteneur2 ...
docker unpause conteneur1 conteneur2 ...

# Dépannage d'un conteneur
docker logs mariadbtest

# Accéder au conteneur
docker exec -it mariadbtest bash
# et nous pouvons utiliser des commandes Linux normales à l'intérieur du conteneur