Você deve limpar
data_volume
antes de executar o container e os arquivos sql serão executados. Este volume data_volume
pode ser removido usando o comando:docker volume rm data_volume
. A causa raiz do seu problema pode ser encontrada em
docker-entrypoint.sh
. Quando você executa um contêiner mysql, ele verifica o diretório mysql /var/lib/mysql
existe ou não. Se o diretório não existir (execute-o pela primeira vez), ele executará seus arquivos SQL. 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
Você pode obter mais detalhes em Fonte do Dockerfile