Djævelen gemmer sig i detaljer...
Du har en dobbelt definition af root i din env vars. root bruger oprettes som standard med adgangskode fra MYSQL_ROOT_PASSWORD . Du beder derefter om at oprette en anden "normal" bruger... med nøjagtig samme navn og adgangskode (dvs. med MYSQL_USER og MYSQL_PASSWORD )
Hvis du ser grundigt på din opstartslog, vil du se en fejl
db_1 | ERROR 1396 (HY000) at line 1: Operation CREATE USER failed for 'root'@'%'
Dette stopper faktisk yderligere behandling af dine init-filer i docker-entrypoint-initdb.d og fortsætter med resten af billedstartprocessen (dvs. genstart af mysql efter initialisering på midlertidig server).
Du skal blot slippe MYSQL_USER og MYSQL_PASSWORD i din env vars, eller indstil en anden bruger end root og du vil straks se dine init-filer behandlet (glem ikke at tømme din data-dir igen).