Comme dans tout système, il peut arriver qu'un problème empêche un conteneur Docker de fonctionner. Ce peut être un fichier corrompu, une mauvaise configuration, etc.
Parfois, un bogue dans une version d'un serveur ou une incompatibilité avec votre système peut empêcher son bon fonctionnement. Si vous utilisez Devilbox, il est alors possible de choisir une autre image en effectuant le choix approprié dans le fichier .env (l'image choisie n'a pas de # devant son nom).
###
### 1.3 Choose MySQL Server Image
###
#MYSQL_SERVER=mysql-5.5
#MYSQL_SERVER=mysql-5.6
#MYSQL_SERVER=mysql-5.7
#MYSQL_SERVER=mysql-8.0
#MYSQL_SERVER=mariadb-5.5
#MYSQL_SERVER=mariadb-10.0
#MYSQL_SERVER=mariadb-10.1
#MYSQL_SERVER=mariadb-10.2
#MYSQL_SERVER=mariadb-10.3
#MYSQL_SERVER=mariadb-10.4
MYSQL_SERVER=mariadb-10.5
#MYSQL_SERVER=mariadb-10.6
#MYSQL_SERVER=mariadb-10.7
#MYSQL_SERVER=percona-5.5
#MYSQL_SERVER=percona-5.6
#MYSQL_SERVER=percona-5.7
#MYSQL_SERVER=percona-8.0
Peu importe la raison du mauvais fonctionnement, Devilbox vous permet de recréer les conteneurs facilement.
Avant de poursuivre, il est important de comprendre qu'est-ce qui sera détruit avec les conteneurs.
Regardons à quel endroit physique les différents acteurs de vos sites Web sont stockés.
Par défaut, les volumes Docker ne sont pas supprimés lorsqu'un conteneur est supprimé. Vos bases de données devraient donc persister si le conteneur est détruit.
Ce sera le cas, par exemple, si vous avez modifié le propriétaire du dossier racine de votre site Web pour permettre l'installation d'un thème WordPress à partir du tableau de bord.
Même si vos bases de données sont stockées dans un volume Docker, c'est une bonne pratique de générer un script SQL de chacune de vos bases de données avant de détruire le conteneur. Ceci assurera que vos précieuses données pourront être regénérées si jamais un problème survenait.
Vous pouvez sauvegarder vos bases de données manuellement à partir de phpMyAdmin :
La sauvegarde peut être réalisée encore plus facilement à partir des techniques que je vous présente sur la fiche « Script pour exporter l'ensemble des bases de données MySQL ».
Maintenant que vous avez généré les scripts SQL pour recréer vos bases de données et que vous avez bien vérifié qu'ils contenaient toutes les requêtes SQL requises, vous pouvez procéder à la réinitialisation des conteneurs.
Vous devez ouvrir une fenêtre Terminal sur votre ordinateur, vous placer dans le dossier de Devilbox puis lancer ces commandes :
docker-compose stop
docker-compose rm -f
docker-compose up
En temps normal, vos bases de données devraient être encore en place après la recréation du conteneur.
Si jamais ce n'était pas le cas (fichier corrompu, changement d'image dans le fichier ,.env), vous pouvez recréer vos bases de données à l'aide de phpMyAdmin.
Si vous aviez effectué des configurations à vos conteneurs après leur génération, vous n'avez pas d'autre choix que de refaire ces configurations à la main.
« Manage data in Docker ». Docker. https://docs.docker.com/storage/
▼Publicité