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

Como instalar o Docker no Linux(Ubuntu)

Como instalar o Docker no Linux(Ubuntu)

Para instalar o docker no ubuntu basta seguir os passos abaixo: Abra o terminal do Linux copie e cole os... Leia mais

Collections no PHP e seu uso no Laravel

Collections no PHP e seu uso no Laravel

Ao desenvolver aplicações modernas com PHP, uma das tarefas mais comuns é manipular arrays — filtrando, transformando ou agrupando dados.... Leia mais

Converter campos de um banco de dados do tipo json para array com laravel

Converter campos de um banco de dados do tipo json para array com laravel

Hoje boa parte dos banco de dados relacionais podem armazenar campos com valores no formato JSON o que garante maior... Leia mais

Como Instalar o PostgreSQL 16 no Linux Mint 21

Como Instalar o PostgreSQL 16 no Linux Mint 21

O PostgreSQL 16 ainda não está disponível nos repositórios oficiais do Linux Mint 21, então usaremos o repositório oficial do... Leia mais