A conexão é bem direta e intuitiva com os servidores de bancos de dados MySQL ou Mariadb em um projeto PHP Laravel quando se usa contêineres Docker do projeto Laradock.

Porém algumas dicas e lembretes são importantes para evitar que você perca tempo quando estiver preparando seu ambiente de desenvolvimento de uma aplicação Laravel em Laradock que utiliza DBMS.

Neste artigo vou exemplificar além da configuração e conexão, dicas para importar dumps de sql do Mysql ou MariaDB, a partir de seu host para o container Docker desejado.

Também apresento como conectar um cliente de bancos de dados, o DBeaver com o servidor Mysql ou MariaDB rodando no container Docker Laradock.

Tutoriais Laradock:

Laradock introdução
Laradock, instalação e configuração
– Conexão de bancos de dados em projeto Laravel com Laradock – este artigo

Criando e subindo o container de banco de dados com Laradock

O Laradock vem com uma diversidade interessante de contêineres de servidores de banco de dados prontos para serem utilizados. Consulte a lista no artigo Laradock – Containers Docker para seu desenvolvimento PHP e Laravel – Introdução.

Dentre os servidores disponíveis estão o MySQL e o MariaDB.

Para que um container com um destes servidores suba e fique disponível, você deve executar o comando docker-compose up.

Para subir – e construir pela primeira vez que é executado, o MySQL, execute:

docker-compose up -d mysql

Para subir – e construir pela primeira vez que é executado, o MariaDB, execute:

docker-compose up -d mysql

Você pode subir vários contêineres ao mesmo tempo, inclusive ter ambos os servidores rodando ao mesmo tempo, junto com outros serviços como o Apache2, Workspace e Redi:

docker-compose up -d apache2 mysql mariadb workspace redis

# resultado
Starting laradock_redis_1            ... done
Starting laradock_docker-in-docker_1 ... done
Creating laradock_mariadb_1          ... done
Starting laradock_workspace_1        ... done
Starting laradock_php-fpm_1          ... done
Starting laradock_apache2_1          ... done

Desta maneira você poderá acessar os diferentes servidores de banco de dados de acordo com a configuração de conexão do seu projeto PHP Laravel, ou PHP puro.

Conectando o projeto PHP Laravel com o servidor de banco de dados no Docker

Lembre-se de que os contêineres sobem com nomes específicos, veja novamente o exemplo da seção anterior o resultado.

Em nosso exemplo o servidor MySQL chama-se laradock_mysql_1, enquanto o servidor MariaDB chama-se laradock_mariadb_1.

Conectando PHP Laravel com MySQL

Para conectar seu projeto PHP Laravel no servidor MySQL que está rodando no container Docker da configuração Laradock, configure o arquivo .env com as variáveis a seguir:

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=nome_do_meu_db
DB_USERNAME=root
DB_PASSWORD=root

Note que a senha do usuário root é definida no arquivo .env do Laradock, e não do seu projeto Laravel.

Conectando PHP Laravel com MariaDB

Para conectar seu projeto PHP Laravel no servidor MariaDB que está rodando no container Docker da configuração Laradock, configure o arquivo .env com as variáveis a seguir:

DB_CONNECTION=mysql
DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=nome_do_meu_db
DB_USERNAME=root
DB_PASSWORD=root

Note que a senha do usuário root é definida no arquivo .env do Laradock, e não do seu projeto Laravel.

Conectando DBeaver com MySQL ou MariaDB no Laradock

A conexão do cliente de banco de dados DBeaver com os servidores de banco de dados em um container Docker Laradock diferenciam-se apenas na identificação do host.

Para a conexão no DBeaver, você deve utilizar o caminho ip do localhost: 127.0.0.1, como demonstrado na imagem a seguir:

DBeaver conexão MYSQL e MariDB no Docker Laradock

Mantenha-se atualizado

Não esqueça de me seguir no Twitter e assinar o Canal Mazer.dev no Youtube para receber atualizações de novos artigos, vídeo aulas e cursos gratuitos em desenvolvimento e engenharia de software.

1 comentário em “Conexão de bancos de dados do Laravel com Docker Laradock”

  1. Pingback: Laradock - Containers Docker para seu desenvolvimento PHP e Laravel - Introdução - MAZER.DEV

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *