Você está procurando uma maneira eficiente de integrar seu ambiente MySQL no host Ubuntu 24.04 com seus containers Docker? Seus problemas acabaram! Este guia completo irá te mostrar o passo a passo para instalar o MySQL diretamente no seu sistema operacional e configurá-lo para ser acessível pelos seus serviços Docker, garantindo flexibilidade e performance.
1. Instalação do MySQL no Host Ubuntu 24.04
O primeiro passo é ter o MySQL Server rodando diretamente no seu Ubuntu. Isso garante que você tenha um banco de dados robusto e gerenciável fora do ecossistema Docker, mas ainda acessível por ele.
Para começar, abra o terminal e execute os seguintes comandos:
Bash
sudo apt update
sudo apt install mysql-server -y
Após a instalação, é crucial verificar se o serviço MySQL está ativo e funcionando corretamente.
Bash
systemctl status mysql
Se tudo estiver certo, você verá o status como active (running).

2. Configurando o MySQL para Acesso Externo (Containers Docker)
Por padrão, o MySQL no Ubuntu é configurado para escutar apenas em localhost
(127.0.0.1) por questões de segurança. Para permitir que seus containers Docker se conectem, você precisa alterar essa configuração para aceitar conexões da rede do host.
Edite o arquivo de configuração principal do MySQL:
Bash
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Dentro do arquivo, procure pela linha:
bind-address = 127.0.0.1
E altere-a para:
bind-address = 0.0.0.0
Essa modificação permite que o MySQL aceite conexões de qualquer endereço IP, tornando-o acessível para seus containers. Salve e feche o arquivo.
Agora, reinicie o serviço MySQL para aplicar as novas configurações:
Bash
sudo systemctl restart mysql

3. Criando um Usuário MySQL com Acesso Externo
Com o MySQL configurado para escutar em todos os endereços, precisamos criar um usuário que tenha permissão para se conectar de qualquer host ou de uma rede específica, como a do Docker.
Acesse o prompt do MySQL como root:
Bash
sudo mysql -u root
Crie um novo usuário com acesso de qualquer host (%
):
SQL
CREATE USER 'meuuser'@'%' IDENTIFIED BY 'minhasenha';
GRANT ALL PRIVILEGES ON *.* TO 'meuuser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Dica de Segurança: Para uma configuração mais segura, você pode restringir o acesso do usuário apenas ao range de IPs da rede Docker. Geralmente, o Docker utiliza a faixa
172.17.0.%
. Neste caso, o comando seria:
SQL
CREATE USER 'meuuser'@'172.17.0.%' IDENTIFIED BY 'minhasenha';
GRANT ALL PRIVILEGES ON *.* TO 'meuuser'@'172.17.0.%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Não se esqueça de substituir 'meuuser'
e 'minhasenha'
por credenciais seguras.

Testando a Conexão do Container com o MySQL
Com todas as configurações no lugar, é hora de testar se o seu container Docker consegue se comunicar com o servidor MySQL no host.
Dentro de um dos seus containers de backend (por exemplo, um container Laravel ou PHP), você pode instalar o cliente MySQL e tentar a conexão:
- Acesse o shell do seu container:
- Bash
docker exec -it nome-do-container-backend bash
- Bash
- Instale o cliente MySQL (pode variar dependendo da imagem base do seu container):
- Bash
apt update && apt install -y mysql-client
- Bash
- Tente conectar ao MySQL usando o IP do gateway Docker:
- Bash
mysql -h 172.17.0.1 -u meuuser -p
- Bash
Se a conexão for bem-sucedida e você for solicitado a inserir a senha, parabéns! Seu MySQL no host Ubuntu 24.04 está agora totalmente acessível e configurado para seus containers Docker.
