Olá, tudo bem?
Vi que tem vários tópicos explicando como resolver os problemas de Exceção que o Docker está retornando, então resolvi colocar todas aqui. 1- Verifique se o arquivo Docker-compose está como deveria (Eu usei a versão 8.0 do Mysql para meu projeto).
version: '3'
services:
db:
image: mysql:8.0
ports:
- '3306:3306'
environment:
MYSQL_DATABASE: 'todo_dev'
MYSQL_USER: 'devops_dev'
MYSQL_PASSWORD: 'mestre'
MYSQL_ROOT_PASSWORD: 'senha'
web:
image: aluracursos/django_todolist_image_build
volumes:
- ./env:/usr/src/app/to_do/.env
ports:
- '8000:8000'
depends_on:
- db
Fique atento em cada detalhe e espaço, especificamente na porta ports: - '3306:3306'
. Se você está com seu serviço do Mysql ativo em sua máquina física, desative-o ou mude a porta.
2 - Verifique se o arquivo ".env" realmente está com o ponto "." seguido de "env", se não estiver, renomeie o mesmo.
3 - Certifique-se de que todas as propriedades do arquivo .env estão corretas (especialmente a porta, deve estar "3306"), segue o código:
[config]
# Secret configuration
SECRET_KEY = 'r*5ltfzw-61ksdm41fuul8+hxs$86yo9%k1%k=(!@=-wv4qtyv'
# conf
DEBUG=True
# Database
DB_NAME = "todo_dev"
DB_USER = "devops_dev"
DB_PASSWORD = "mestre"
DB_HOST = "db"
DB_PORT = "3306"
Após executar esses passos, pode continuar com o comandos:
Derrubar docker-compose down
Criar e Levantar Imagem docker-compose up --build Quando o docker finalizar, digite "Ctrl+C" no terminal para libera-lo.
Levantar sem prender o Terminal docker-compose up -d
Por fim, os comandos de migrações docker-compose run web python manage.py makemigrations Aguarde para executar o próximo. docker-compose run web python manage.py migrate
E para criarmos um usuário para essa aplicação, ainda no terminal, digite: docker-compose run web python manage.py createsuperuser
Abraço!