Musisz utworzyć użytkownika przez MYSQL_USER
, MYSQL_PASSWORD
env vars i użyj woluminu /docker-entrypoint-initdb.d
do mapowania katalogu z twoimi skryptami startowymi (.sh
, .sql
, .sql.gz
)
docker run -p 3306:3306 --name mysql-server \
-v ~/Development/web/myproject/docker/mysql:/var/lib/mysql \
-v ~/Development/web/myproject/docker/yourstartupscripts:/docker-entrypoint-initdb.d \
-e MYSQL_ROOT_PASSWORD=root \
-e MYSQL_USER=youruser \
-e MYSQL_PASSWORD=youruserpassword \
-d mysql:latest
Wyjaśnienie od:https://hub.docker.com/_/mysql/
MYSQL_USER, MYSQL_PASSWORD
Te zmienne są opcjonalne, używane w połączeniu z utworzeniem nowego użytkownika i ustawieniem jego hasła. Ten użytkownik otrzyma uprawnienia administratora (patrz wyżej) dla bazy danych określonej przez MYSQL_DATABASE
zmienny. Obie zmienne są wymagane do utworzenia użytkownika.
Inicjowanie nowej instancji
Kiedy kontener jest uruchamiany po raz pierwszy, nowa baza danych o określonej nazwie zostanie utworzona i zainicjowana z dostarczonymi zmiennymi konfiguracyjnymi. Ponadto uruchomi pliki z rozszerzeniami .sh
, .sql
i .sql.gz
które znajdują się w /docker-entrypoint-initdb.d
. Pliki zostaną wykonane w kolejności alfabetycznej. Możesz łatwo wypełnić swoje usługi mysql, montowanie zrzutu SQL do tego katalogu
i udostępnij niestandardowe obrazy
z wniesionymi danymi. Pliki SQL będą domyślnie importowane do bazy danych określonej przez MYSQL_DATABASE
zmienna.