Como Configurar e Gerenciar um Banco de Dados MySQL com Docker Compose
Paulo Bolsanello·27 Ago 2024·2 min de leitura
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.
Neste exemplo, definimos um serviço chamado db que utiliza a imagem do MySQL versão 5.7. Vamos analisar cada parte desse arquivo:
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.
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.
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:
Comandos para controlar o funcionamento do apache em ambientes de desenvolvimento locais: Estes Comandos Servem para ambientes Ubuntu/Debian: Iniciar: sudo systemctl start apache2 ou sudo service apache2 start Parar:…
Resolvi retormar meus estudo em Go Lang e assim vamos ao primeiro post dessa série de estudos onde vamos aprender a manipular strings: Concatenação de Strings A concatenação de strings pode ser feita usando o operador…