sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo agregar un script de inicio a un contenedor docker mysql?

Debe crear un usuario a través de MYSQL_USER , MYSQL_PASSWORD env vars y use el volumen /docker-entrypoint-initdb.d para mapear el directorio con sus scripts de inicio (.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

Explicación de:https://hub.docker.com/_/mysql/

USUARIO_MYSQL, CONTRASEÑA_MYSQL
Estas variables son opcionales, se usan en conjunto para crear un nuevo usuario y establecer la contraseña de ese usuario. A este usuario se le otorgarán permisos de superusuario (ver arriba) para la base de datos especificada por MYSQL_DATABASE variable. Ambas variables son necesarias para crear un usuario.

Inicializar una nueva instancia
Cuando se inicia un contenedor por primera vez, se creará una nueva base de datos con el nombre especificado y se inicializará con las variables de configuración proporcionadas. Además, ejecutará archivos con extensiones .sh , .sql y .sql.gz que se encuentran en /docker-entrypoint-initdb.d . Los archivos se ejecutarán en orden alfabético. Puede completar fácilmente sus servicios mysql con montar un volcado de SQL en ese directorio y proporcione imágenes personalizadas con datos aportados. Los archivos SQL se importarán de forma predeterminada a la base de datos especificada por MYSQL_DATABASE variables.