Devi creare un utente tramite MYSQL_USER
, MYSQL_PASSWORD
env vars e usa il volume /docker-entrypoint-initdb.d
per mappare la directory con i tuoi script di avvio (.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
Spiegazione da:https://hub.docker.com/_/mysql/
USER_MYSQL, PASSWORD_MYSQL
Queste variabili sono facoltative, utilizzate insieme per creare un nuovo utente e per impostare la password di quell'utente. A questo utente verranno concesse le autorizzazioni di superutente (vedi sopra) per il database specificato da MYSQL_DATABASE
variabile. Entrambe le variabili sono necessarie per creare un utente.
Inizializzazione di una nuova istanza
Quando un container viene avviato per la prima volta, verrà creato e inizializzato un nuovo database con il nome specificato con le variabili di configurazione fornite. Inoltre, eseguirà file con estensione .sh
, .sql
e .sql.gz
che si trovano in /docker-entrypoint-initdb.d
. I file verranno eseguiti in ordine alfabetico. Puoi facilmente popolare i tuoi servizi mysql con montaggio di un dump SQL in quella directory
e fornire immagini personalizzate
con i dati forniti. I file SQL verranno importati per impostazione predefinita nel database specificato da MYSQL_DATABASE
variabile.