Du bør rydde data_volume
før du kører containeren, og sql-filerne vil blive udført. Denne volumen data_volume
kan fjernes ved at bruge kommandoen:docker volume rm data_volume
.
Grundårsagen til dit problem kan findes i docker-entrypoint.sh
. Når du kører en mysql-container, tjekker den mysql-mappen /var/lib/mysql
eksisterer eller ej. Hvis mappen ikke eksisterer (kør den første gang), vil den køre dine SQL-filer.
if [ ! -d "$DATADIR/mysql" ]; then
//Some other logic here
for f in /docker-entrypoint-initdb.d/*; do
case "$f" in
*.sh) echo "$0: running $f"; . "$f" ;;
*.sql) echo "$0: running $f"; "${mysql[@]}" < "$f"; echo ;;
*.sql.gz) echo "$0: running $f"; gunzip -c "$f" | "${mysql[@]}"; echo ;;
*) echo "$0: ignoring $f" ;;
esac
echo
done
Du kan få flere detaljer på Dockerfile-kilde