Configurando um Container MariaDB com Docker

O que é MariaDB?

O MariaDB é um sistema de gerenciamento de banco de dados relacional de código aberto, derivado do MySQL. Ele é amplamente utilizado para armazenar e gerenciar dados de forma eficiente, e é compatível com a maioria dos sistemas operacionais, incluindo Linux, Windows e macOS.

Requisitos
Antes de começar, você precisa ter o Docker instalado no seu sistema Debian. Para isso, consulte o tutorial de instalação disponível no blog ou, se preferir, acesse a documentação oficial do Docker.

Criando um Container MariaDB com o Docker

Usando o Comando docker run
Para criar um container MariaDB simples, siga estas instruções:
Abra o terminal e digite o seguinte comando para criar e rodar o container MariaDB:

docker run --name meu-mariadb -e MYSQL_ROOT_PASSWORD=sua_senha_root -d mariadb:latest

--name meu-mariadb: Define o nome do container como “meu-mariadb”.
-e MYSQL_ROOT_PASSWORD=sua_senha_root: Define a senha do usuário root do MariaDB.
-d mariadb:latest: Utiliza a imagem mais recente do MariaDB e executa o container em segundo plano.

Verifique se o container está rodando
com o comando:

docker ps

Agora, o seu container MariaDB está rodando. Vamos explorar uma forma mais prática e organizada de gerenciar a criação de containers usando o Docker Compose.

Usando o Docker Compose

O Docker Compose permite que você defina e gerencie containers Docker utilizando um arquivo YAML. Ele facilita a configuração e automação de serviços.

Criando o Container MariaDB com Docker Compose

Crie um arquivo chamadodocker-compose.yml no diretório de sua preferência e cole o seguinte conteúdo:

services:  
  db:
    image: mariadb:latest
    restart: always
    command: --default-authentication-plugin=mysql_native_password
    environment:
      MYSQL_ROOT_PASSWORD: sua_senha_root
      MYSQL_DATABASE: seu_banco_de_dados
      MYSQL_USER: seu_usuario
      MYSQL_PASSWORD: senha_do_seu_usuario
    volumes:
      - db:/var/lib/mysql
volumes:
  db:

Vamos entender o que cada linha faz:

services: Define os serviços que serão gerenciados pelo Docker Compose. Neste caso, você tem apenas o serviço db.
db: O nome do serviço do container MariaDB.
image: mariadb:latest: Especifica a imagem do MariaDB que será usada (a mais recente disponível).
restart: always: Garante que o container será reiniciado automaticamente em caso de falha ou reinicialização do sistema.
command: --default-authentication-plugin=mysql_native_password: Configura o método de autenticação do MariaDB.
environment: Define as variáveis de ambiente para configurar o MariaDB:
MYSQL_ROOT_PASSWORD: Senha do usuário root.
MYSQL_DATABASE: Nome do banco de dados que será criado automaticamente.
MYSQL_USER e MYSQL_PASSWORD: Credenciais de um usuário adicional para o banco.
volumes: Mapeia o volume para persistir os dados do banco fora do container.

No terminal, navegue até o diretório onde você salvou o docker-compose.yml e execute o comando:

sudo docker-compose up -d

Esse comando cria e inicia o container MariaDB em segundo plano. O -d faz com que ele rode como um serviço em background.

Visualizando os Logs do Contêiner

Após iniciar o contêiner, é uma boa prática verificar os logs para garantir que tudo está funcionando corretamente. Para visualizar os logs do contêiner em tempo real, você pode usar o seguinte comando:

sudo docker-compose logs -f db

O -f mantém os logs sendo exibidos em tempo real, e o db refere-se ao nome do serviço que você definiu no docker-compose.yml.

Conectando ao Container e Criando um Banco de Dados e uma Tabela

Com o container rodando, você pode se conectar ao MariaDB e criar um banco de dados e uma tabela.
Acesse o terminal interativo do container com o comando:

docker exec -it meu-mariadb mysql -u root -p

docker exec -it meu-mariadb: Executa um comando interativo no container chamado “meu-mariadb”.
mysql -u root -p: Inicia o cliente MySQL com o usuário root. O sistema pedirá a senha que você configurou anteriormente (sua_senha_root).

Criando um Banco de Dados e uma Tabela

Depois de acessar o cliente MySQL, siga os comandos abaixo:
Criar um banco de dados:

CREATE DATABASE exemplo_db;

Usar o banco de dados criado:

USE exemplo_db;

Criar uma tabela:

CREATE TABLE usuarios (
    id INT PRIMARY KEY AUTO_INCREMENT,
    nome VARCHAR(50),
    email VARCHAR(50)
);

Verificar se a tabela foi criada com sucesso:

SHOW TABLES;

Agora, você tem um banco de dados e uma tabela prontos para uso no seu container MariaDB!

Conclusão:

Este tutorial mostrou como você pode criar um container MariaDB utilizando tanto o comando docker run quanto o Docker Compose, além de como se conectar ao container e interagir com o banco de dados. Agora você está pronto para gerenciar e manipular bancos de dados MariaDB de forma prática e eficiente com Docker!

Agradeço por ler esse artigo e espero vê-lo novamente em breve. Continue nos acompanhando para mais conteúdo relevante e inspirador. Até a próxima!

Deixe um comentário

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