U moet data_volume
wissen voordat u de container uitvoert, worden de sql-bestanden uitgevoerd. Dit volume data_volume
kan worden verwijderd met het commando:docker volume rm data_volume
.
De hoofdoorzaak van uw probleem kan worden gevonden in docker-entrypoint.sh
. Wanneer u een mysql-container uitvoert, controleert deze de mysql-directory /var/lib/mysql
bestaat of niet. Als de map niet bestaat (voer het de eerste keer uit), zal het uw SQL-bestanden uitvoeren.
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
U kunt meer details vinden op Dockerfile-bron