Você precisa criar usuário via
MYSQL_USER
, MYSQL_PASSWORD
env vars e use o volume /docker-entrypoint-initdb.d
para mapear o diretório com seus scripts de inicialização (.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
Explicação de:https://hub.docker.com/_/mysql/
MYSQL_USER, MYSQL_PASSWORD
Essas variáveis são opcionais, usadas em conjunto para criar um novo usuário e definir a senha desse usuário. Este usuário receberá permissões de superusuário (veja acima) para o banco de dados especificado pelo
MYSQL_DATABASE
variável. Ambas as variáveis são necessárias para que um usuário seja criado. Inicializando uma nova instância
Quando um container é iniciado pela primeira vez, um novo banco de dados com o nome especificado será criado e inicializado com as variáveis de configuração fornecidas. Além disso, ele executará arquivos com extensões
.sh
, .sql
e .sql.gz
que são encontrados em /docker-entrypoint-initdb.d
. Os arquivos serão executados em ordem alfabética. Você pode facilmente preencher seus serviços mysql por montando um dump SQL nesse diretório
e forneça imagens personalizadas
com dados contribuídos. Os arquivos SQL serão importados por padrão para o banco de dados especificado pelo MYSQL_DATABASE
variável.