Приложение не может подключиться к БД в докер-контейнере
Все таки у меня получилось сбилдить проект в докере, но при запуске
docker-compose up
У меня работает все, кроме самого приложения))) Говорит, что не может подключиться к БД. Что я не так сделал? docker-compose.yml:
version: '3'
services:
app:
build: ./app
links:
- db
container_name: app
restart: always
#environment:
# - DATABASE= mysql:db
#restart: on-failure
volumes:
- ./app:/app
ports:
- "5000:5000"
command: python wsgi.py
depends_on:
- db
nginx:
build: ./nginx
container_name: nginx
restart: always
ports:
- "80:80"
depends_on:
- app
db:
image: mysql:5.7
container_name: mysql_db
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: "example"
MYSQL_DATABASE: 'mydb'
MYSQL_USER: 'myuser'
MYSQL_PASSWORD: 'password'
ports:
- "3306:3306"
volumes:
- ./db:/var/lib/mysql
adminer:
image: adminer
container_name: adminer
restart: always
ports:
- "8080:8080"
Докер приложения:
FROM python:3.9
WORKDIR /app
COPY requirements.txt /app
RUN pip3 install -r requirements.txt
COPY . /app
EXPOSE 5000
Файл wsgi.py:
from myproject import myprojectApp as app
if __name__ == "__main__":
app.run(host='0.0.0.0', port=5000, debug=True)
Само подключение в настройках:
self.app_db_connect = 'mysql://myuser:[email protected]:3306/mydb'
Файл nginx.conf:
server {
listen 80;
location/ {
include uwsgi_params;
uwsgi_pass app:8080;
}
}