DEV Community

Cover image for Como criar um banco de dados mariaDb com docker
TeixeiraJr
TeixeiraJr

Posted on • Edited on

Como criar um banco de dados mariaDb com docker

Em quais situações utiliza-se Docker para banco de dados ?

Neste post, iremos demonstrar passo a passo como criar um banco de dados mariaDb utilizando docker.
Na grande maioria dos casos, não é recomendado a conteinerização de bancos de dados, por diversos motivos, como:

  • Não é necessário um escalonamento automático da grande maioria dos bancos de dados,

  • Apesar das recentes evoluções do Docker, o mesmo ainda não lida bem com as cargas de trabalho oriundas das consultas e inserções dos bancos de dados,

  • Caso não seja configurado um volume em host (isto é, fora do container) e o mesmo for excluído, os dados armazenados no mesmo serão destruídos,

  • Existem serviços específicos que lidam de uma forma muito melhor com banco de dados, como o RDS da AWS, diminuindo a complexidade do gerenciamento dos bancos que muitos devs sentem dificuldade.

Então, por qual motivo a criação de bancos de dados em docker seria interessante? Simples, a prática é muito boa para ambientes de desenvolvimento. Criando um container em docker, é removida a complexidade de gerenciamento da mesma facilitando muito o processo de desenvolvimento local.

Como criar um banco de dados em container

Inicialmente, é necessário que tenhamos o docker e o docker compose instalados, caso não tenha, siga o passo a passo da documentação de acordo com o seu sistema operacional.

Com o Docker instalado, iremos criar um arquivo chamado docker-compose.yml para parametrizarmos a criação do Docker do banco facilitando a criação da imagem e do container. Segue um exemplo do arquivo yml utilizando uma imagem mariaDb:

version: '3.4'

services:
  mariadb:
    image: mariadb:10.2
    environment:
      MYSQL_ROOT_PASSWORD: 'mypassword'
      MYSQL_DATABASE: 'mydatabasename'
      MYSQL_USER: 'mydatabaseuser'
      MYSQL_PASSWORD: 'mydatabasepassword'
    ports:
      - 3306:3306

Enter fullscreen mode Exit fullscreen mode

Com isto, temos um arquivo yml que irá criar uma instância Mariadb, utilizando a imagem 10.2, com as credenciais configuradas no enviroment acessado pela porta 3306.

Após a criação do arquivo, acesse através do terminal o diretório do mesmo e rode o comando:

docker-compose up
Enter fullscreen mode Exit fullscreen mode

Na primeira criação de imagem do Docker, o mesmo fará o download da imagem utilizada.

Utilizando outro terminal (o container ficará rodando neste terminal), utilize o seguinte comando para verificar se o container está ativo:

docker ps
Enter fullscreen mode Exit fullscreen mode

O retorno esperado é algo similar a isso, que traz diversas informaçoes a respeito do seu container:

Container Database

Acessando a sua base de dados

Agora que o container está ativo, utilizaremos alguma ferramenta de banco de dados para acessá-lo. Recomendo pessoalmente a utilização do Dbeaver mas fique a vontade para utilizar qualquer outro.

Entrando no Dbeaver, vamos em nova conexão (canto esquerdo superior), e selecionamos MariaDb

Select database

Nas credenciais, preenchemos o host como 'localhost' e port como '3306'. Em Database, Username e Password, preenchemos conforme o arquivo docker-compose.yml de configuração da base:

Database Credentials

Ao clicar em Test connection, espera-se:

Connection sucessfull

Por fim, agora clicamos em Finish e nosso banco de dados está configurado e conectado em uma ferramenta para visualização e manipulação de dados. Caso deseje conectar em alguma aplicação, utilize as credencias do arquivo compose.

Top comments (0)