Você pode passar uma variável de ambiente extra ao iniciar o contêiner do MySQL MYSQL_ROOT_HOST=<ip>
, isso criará um usuário root com permissão para efetuar login a partir do endereço IP fornecido. Caso você queira permitir o login de qualquer IP, você pode especificar MYSQL_ROOT_HOST=%
.
Isso funcionará apenas para contêineres recém-criados.
Ao girar um novo contêiner:
docker run --name some-mysql -e MYSQL_ROOT_HOST=% -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest
No arquivo de composição, seria:
version: '2'
services:
### Mysql container
mysql:
image: mysql:latest
ports:
- "3306:3306"
volumes:
- /var/lib/mysql:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: test_db
MYSQL_USER: test
MYSQL_PASSWORD: test_pass
MYSQL_ROOT_HOST: %