Biorąc za pewnik, że pokazałeś cały swój dziennik startowy, wygląda na to, że uruchomiłeś kontener mysql na istniejącym db_data
wolumin zawiera już system plików bazy danych mysql.
W takim przypadku absolutnie nic nie zostanie zainicjowane podczas uruchamiania kontenera, a zmienne środowiskowe są bezużyteczne. Cytując oficjalną dokumentację obrazu w sekcji „Zmienne środowiskowe”:
Jeśli chcesz, aby Twoja instancja została zainicjowana, musisz zacząć od zera. Jest to dość łatwe w przypadku docker compose podczas korzystania z nazwanego woluminu, tak jak w twoim przypadku. Ostrzeżenie:spowoduje to trwałe usunięcie zawartości w db_data
głośność, usuwając wszelkie wcześniejsze bazy danych, które tam posiadałeś . Najpierw utwórz kopię zapasową, jeśli chcesz zachować zawartość.
docker-compose down -v
docker-compose up -d
Jeśli kiedykolwiek dokonasz konwersji na montowanie typu bind, będziesz musiał samodzielnie usunąć całą jego zawartość (tj. rm -rf /path/to/bind/mount/*
)
Uwaga:wiele innych oficjalnych obrazów dokera db (postgres, mongo....) działa w podobny sposób.