Du bör rensa data_volume
innan kör behållaren och sql-filerna kommer att köras. Denna volym data_volume
kan tas bort genom att använda kommandot:docker volume rm data_volume
.
Grundorsaken till ditt problem kan hittas i docker-entrypoint.sh
. När du kör en mysql-behållare kontrollerar den mysql-katalogen /var/lib/mysql
existerar eller inte. Om katalogen inte finns (kör den första gången) kommer den att köra dina 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å mer information på Dockerfilkälla