Contexte
Un développeur déploie une application web avec une base de données MySQL via Docker Compose. L’application fonctionne parfaitement, les données s’enregistrent bien pendant la session. Mais à chaque docker compose down suivi d’un docker compose up, toutes les données ont disparu — la base est vide, comme au premier démarrage.
Le développeur est convaincu d’avoir bien configuré la persistance des données car il voit bien un volume déclaré dans son fichier docker-compose.yml :
services:
app:
image: monapp:latest
ports:
- "8080:80"
depends_on:
- db
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: appdb
MYSQL_USER: appuser
MYSQL_PASSWORD: apppass
ports:
- "3306:3306"
volumes:
mysql_data:Le volume mysql_data est bien présent quand il lance docker volume ls, et il n’est pas supprimé entre les redémarrages.
Problème
Les données sont perdues à chaque redémarrage malgré un volume déclaré. Identifier l’erreur et corriger le fichier docker-compose.yml pour assurer la persistance des données.
The answer is being published. Please refresh in a moment.