Mysql
 sql >> Database >  >> RDS >> Mysql

Come aggiungere uno script di avvio a un contenitore docker mysql?

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.