J'ai lu le post récent Setting up MySQL and importing dump within Dockerfile mais je n'ai pas trouvé de réponse. Ce que je veux est de construire l'image mysql personnalisée avec la base de données créée, les utilisateurs et quelques autres données. Voici mon Dockerfile (simplifié):Docker mysql question
FROM mysql:5.7
ENV MYSQL_ROOT_PASSWORD=root
RUN service mysql start && \
mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "CREATE DATABASE mydb;" && \
mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "SHOW databases;" && \
service mysql stop
ENTRYPOINT service mysql start && /bin/sh
image est construit avec succès et base de données mydb est répertorié comme sortie de "SHOW DATABASES". Mais lorsque j'exécute un conteneur basé sur cette image, je vois que le mot de passe root est vide et que la base de données mydb est manquante.
Comment puis-je résoudre ce problème? Merci?
Merci, Sergey. Je vais essayer ça. Mais pourquoi ma base de données créée à l'instruction RUN a été perdue? Cela signifie-t-il qu'il n'est pas logique d'initialiser les données relatives à la base de données avant l'exécution du premier conteneur? – Sergey
C'est une bonne question. Pourriez-vous me montrer 'Dockerfile' où vous utilisez cette image de base? –
Sergey, j'ai spécifié le contenu du fichier Docker dans la description de la question – Sergey