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
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
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
O retorno esperado é algo similar a isso, que traz diversas informaçoes a respeito do seu container:
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
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:
Ao clicar em Test connection, espera-se:
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)