Utilizando banco de dados mysql de forma prática com docker
Salve pessoal, tranquilo? Vou postar esse tutorial aqui, pra ajudar quem se interessar pelo assunto, ou até mesmo pra minha referência futura. Vou mostrar como é simples, subir um container docker com o mysql, para poder fazer testes locais ou aprender mais sobre o funcionamento de banco de dados.
usando docker compose
Para quem ainda não sabe o que é docker compose, segue a documentação oficial que explica praticamente tudo sobre. Eu vou deixar aqui o código todo ja prontinho, só pra copiar e colar. Crie um arquivo yml na sua pasta chamado docker-compose.yml Aqui eu criei em uma pasta chamada mysqlEmDocker. Abre ele no vs code, ou em qualquer editor de sua preferência, e cole o seguinte conteúdo:
version: '3.3'
services:
db:
image: mysql
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_DATABASE: 'db'
# So you don't have to use root, but you can if you like
MYSQL_USER: 'user'
# You can use whatever password you like
MYSQL_PASSWORD: 'password'
# Password for root access
MYSQL_ROOT_PASSWORD: 'password'
ports:
# <Port exposed> : < MySQL Port running inside container>
- '3306:3306'
expose:
# Opens port 3306 on the container
- '3306'
# Where our data will be persisted
volumes:
- ./db:/var/lib/mysql# Names our volume
volumes:
my-db:
Só lembrando que você pode mudar as partes onde tem senhas, usuário e nome do banco que vai ser criado.
comandos para rodar o compose
Depois de ter seguido os passos a cima, é hora de executar alguns comandos docker para poder criar e rodar a imagem mysql. Antes de tudo, execute em um terminal, aberto na mesma pasta do arquivo .yml, o comando docker-compose up -d é ele que irá baixar e criar a imagem docker na sua máquina. Depois que tudo tiver concluído, o servidor mysql ja vai está rodando. basta conectar ele usando seu programa de banco de dados preferido, usando localhost e a porta que você definir no docker-compose. Por aqui, eu uso a extensão mysql do vs code.
comandos extras
Alén desse comando, tem alguns que são bem útil tanbên. Como o docker-compose stop para parar o banco, no caso ele para todas as imagens se tiverem dentro do docker-compose, e o docker-compose start para iniciar, obviamente.