Talvez minha experiência tentando me desafiar sirva para alguém que esteja no mesmo caminho passando por dificuldades. Estou rodando a aplicação proposta no curso usando docker e docker-compose rodando no ubuntu
Problemas no caminho:
1 - Não conseguir conectar usuário root - já que esse usuário é tratado pelo mysql como o mesmo usuário do sistema
Solução: usar command: --default-authentication-plugin=mysql_native_password
no arquivo docker-compose
2 - Tive que configurar também o arquivo de configuração do mysql dentro do container "/etc/mysql/mysql.conf.d/mysqld.cnf" descomentando e alterando a linha # bind-address = 127.0.0.1
para bind-address = [ip ou nome do container se pertencer a uma rede criada por você]
não sei se já tem algum editor de texto instalado na versão linux do container, eu particularmente não achei, tive que instalar o vim apt-get install vim
instale um editor de sua preferência para poder editar o arquivo
Gostaria de saber se e como é possível alterar essas configurações ao subir os containers. Se souber me fala que eu também quero saber :)
o repositório do mysql no https://hub.docker.com/_/mysql tem boas informações para configuração e ainda vale dar uma olhada na documentação do mysql para o seu sistema se estiver com problemas
Talvez sirva de referência para alguém (meu docker-compose):
version: "3.9"
services:
mysql:
build:
dockerfile: ./docker/mysql.dockerfile
context: .
image: lipebritto/mysql
container_name: mysql
ports:
- "3306:3306"
volumes:
- ./infrastructure/database:/var/lib/mysql
env_file:
- .env
command: --default-authentication-plugin=mysql_native_password
restart: always
networks:
- project-network
node:
build:
dockerfile: ./docker/node.dockerfile
context: .
image: lipebritto/node
container_name: node
networks:
- project-network
ports:
- "3000:3000"
volumes:
- .:/var/www
depends_on:
- "mysql"
networks:
project-network:
driver: bridge