À des fins de test, je veux construire un conteneur MySQL dans lequel un jeu de données est amorcé. Je sais que le montage est possible et que vous pouvez placer sql scripts dans le répertoire init pour lancer l'importation au démarrage, mais ce n'est pas ce que nous voulons. J'ai donc essayé d'en construire un moi-même qui copie simplement les fichiers de données dans le conteneur docker.
J'utilise le dockerfile suivant pour construire mon conteneur.
FROM mysql:8.0.21
EXPOSE 3306
ARG BUILD_ID
LABEL stage=builder
LABEL build=$BUILD_ID
ENV TZ=Europe/Amsterdam
RUN apt-get update && apt-get install -y tzdata
ADD http://server.example.com/data/datafiles_2020_11_02.tar.gz /var/lib/datafile.tar.gz
RUN tar -xvzf /var/lib/datafile.tar.gz -C /var/lib/mysql && chown -R mysql.root /var/lib/mysql
#ADD initieel/* /docker-entrypoint-initdb.d/
ADD cnf/* /etc/mysql/mysql.conf.d/
Cela s'est déroulé avec succès, après quoi j'ai fait tourner mon conteneur fraîchement construit et pendant le démarrage, quelque chose dans le conteneur va initialiser une nouvelle base de données et jeter tout ce que j'ai placé dans /var/lib/mysql. J'ai vérifié le README qui accompagne le conteneur mysql mais je n'ai rien trouvé qui concerne ce problème.
Merci d'avance de prendre le temps de lire. Je ferai une mise à jour si mon post manque d'informations.