I’m using docker compose and Flask python.
I’m trying to run an old application but I get sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on 'XXX.XXX.XXX.XXX' (timed out)") (Background on this error at: http://sqlalche.me/e/e3q8)
Here is my docker-compose.yaml
version: "3.2"
services:
nginx:
build:
# context: ./nginx
context: $CONTEXT
args:
# DOMAIN: ${DOMAIN}
# EMAIL: ${EMAIL}
DOMAIN: mydomain.com
EMAIL: [email protected]
FLASK: XXX.XXX.XXX.XXX
DOMAIN_WP: help.mydomain.com
EMAIL_WP: [email protected]
APP_WP: 172.19.0.1
ports:
- 80:80
- 443:443
volumes:
- /etc/letsencrypt/live:$SSL_STORAGE
depends_on:
- app
# main app
app:
build: ./
container_name: app_app_1
hostname: localhost
environment:
MYSQL_ROOT_PWD: root
MYSQL_USER: user_repo
MYSQL_USER_PWD: 123456
MYSQL_USER_DB: user_repo
ENVT: test
volumes:
- ./:/app
- /var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten:/app/oo-files
ports:
- "127.0.0.1:3302:3306"
- "8095:8080"
and my python config.py file:
# DATABASE CONFIG
MYSQL_DATABASE_USER = 'user_repo'
MYSQL_DATABASE_PASSWORD = '123456'
MYSQL_DATABASE_DB = 'user_repo'
MYSQL_DATABASE_HOST = 'localhost'
I have no idea why it is giving an error. I tried to create any necessary MySQL users with no luck.
CREATE USER 'user_repo'@'XXX.XXX.XXX.XXX' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'user_repo'@'XXX.XXX.XXX.XXX' WITH GRANT OPTION;