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

Gerando Dados Fictícios para Análise de Compras em Python

Gerando Dados Fictícios para Análise de Compras em Python

Ao realizar estudos de análise de dados ou ao testar sistemas que lidam com grandes volumes de informações, é comum... Leia mais

Alterar função ONCLICK de um botão com JavaScript Vanilla

Alterar função ONCLICK de um botão com JavaScript Vanilla

Vamos lá a mais um estudo de caso. Na tela abaixo temos um crud simples cujo frontend foi feito com... Leia mais

Como desfazer alterações em arquivos indesejados num Pull Request (PR)

Como desfazer alterações em arquivos indesejados num Pull Request (PR)

Ao criar um Pull Request, é comum perceber depois que um arquivo foi modificado por engano ou não deveria estar... Leia mais

Programação Funcional no Elixir: Fundamentos e Exemplos

Programação Funcional no Elixir: Fundamentos e Exemplos

A programação funcional está se tornando cada vez mais popular devido à sua simplicidade e capacidade de lidar com paralelismo... Leia mais