PauloRB.dev

Desenvolvedor de Software

Como Configurar e Gerenciar um Banco de Dados MySQL com Docker Compose | PauloRB.dev Como Configurar e Gerenciar um Banco de Dados MySQL com Docker Compose – PauloRB.dev
Como Configurar e Gerenciar um Banco de Dados MySQL com Docker Compose

Como Configurar e Gerenciar um Banco de Dados MySQL com Docker Compose

Configurar e gerenciar bancos de dados pode ser uma tarefa desafiadora, especialmente quando você precisa garantir a portabilidade e a consistência do ambiente de desenvolvimento. Neste artigo, vamos explorar como configurar uma instância MySQL usando Docker Compose, uma ferramenta poderosa que facilita a definição e o compartilhamento de ambientes de contêiner.

Configurando o MySQL com Docker Compose

Vamos começar com um exemplo básico de um arquivo docker-compose.yml que configura uma instância MySQL.

version: '3.3'
services:
  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: 'db'
      MYSQL_USER: 'user'
      MYSQL_PASSWORD: 'password'
      MYSQL_ROOT_PASSWORD: 'password'
    ports:
      - '3306:3306'
    expose:
      - '3306'
    volumes:
      - my-db:/var/lib/mysql
volumes:
  my-db:

Neste exemplo, definimos um serviço chamado db que utiliza a imagem do MySQL versão 5.7. Vamos analisar cada parte desse arquivo:

  1. version: '3.3': Esta linha define a versão do Docker Compose que estamos usando. A versão 3.3 é uma das mais comuns, oferecendo um bom equilíbrio entre recursos e compatibilidade.
  2. Serviço db:
    • image: mysql:5.7: Aqui, especificamos a imagem do MySQL que será usada. Você pode trocar a versão conforme necessário.
    • restart: always: Garante que o contêiner será reiniciado automaticamente caso falhe ou o Docker seja reiniciado.
    • environment: Define as variáveis de ambiente usadas pelo MySQL, como o banco de dados padrão, usuário e senha.
    • ports: Mapeia a porta 3306 do contêiner para a mesma porta na máquina host, permitindo que você acesse o banco de dados localmente.
    • expose: Expõe a porta 3306, permitindo que outros contêineres acessem o banco de dados.
    • volumes: Monta um volume que persiste os dados do MySQL, garantindo que seus dados não sejam perdidos quando o contêiner for removido.
  3. Volumes:
    • my-db: Este é o nome do volume onde os dados do MySQL serão armazenados. Isso assegura que os dados sejam persistentes mesmo que o contêiner seja removido.

Gerenciamento de Contêineres e Imagens

Uma vez configurado o Docker Compose, você pode gerenciar seus contêineres com comandos simples. Por exemplo:

  • Subir o ambiente: docker-compose up -d
  • Parar o ambiente: docker-compose down

Caso você precise liberar espaço em disco ou remover contêineres e imagens antigas, os seguintes comandos são úteis:

  • Remover contêineres parados: docker container prune
  • Remover imagens não utilizadas: docker image prune
  • Remover volumes não utilizados: docker volume prune

Essas práticas ajudam a manter seu ambiente Docker limpo e eficiente.

Mais Posts

Onde aprender React ?

Onde aprender React ?

Vamos lá! Em um dia qualquer estava eu a rolar o feed do Linked-In e um determinado post me chamou... Leia mais

Entendendo as Diferenças Entre Programação Orientada a Objetos e Funcional: Java vs. Elixir

Entendendo as Diferenças Entre Programação Orientada a Objetos e Funcional: Java vs. Elixir

A escolha entre programação orientada a objetos (OOP) e programação funcional (FP) é mais do que uma preferência de estilo;... Leia mais

Como ignorar permissões do Linux em repositórios GIT.

Como ignorar permissões do Linux em repositórios GIT.

Recentemente me deparei com um problema curioso que ocorre no GIT principalmente enquanto escrevemos código em modo root e depois... Leia mais

Instalação e Configuração do OpenSSH no Ubuntu

Instalação e Configuração do OpenSSH no Ubuntu

Este tutorial rápido e objetivo vai te mostrar como instalar e configurar o OpenSSH no Ubuntu, além de incluir algumas... Leia mais