Docker-compose для python, grafana и БД. Не находит порт для скрипта
Делаю докер-compose для поднятия БД, Графаны и приложения(app). Хочу чтобы в БД генерилась вручную БД с помощью Питон-скрипта. Вот credentials для БД, прописанные в Питон скрипте (через sqlalchemy)
db_user = 'postgres'
db_pass = 'postgres'
db_host = 'my_db'
db_port = '5432'
db_string = 'postgresql://{}:{}@{}:{}/{}'.format(db_user, db_pass, db_host, db_port, db_name)
engine = create_engine(db_string)
Base = declarative_base()
Docker-compose.yml:
version: "3.2"
services:
my_db:
build: ./database/
environment:
- POSTGRES_HOST_AUTH_METHOD=trust
ports:
- "5432:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 3s
timeout: 3s
retries: 5
app:
build: ./app/
command: >
python3 app.py
depends_on:
- my_db
grafana:
build:
context: ./grafana
container_name: grafana
ports:
- 3000:3000
volumes:
- grafana-data:/var/lib/grafana
depends_on:
- my_db
- app
volumes:
grafana-data:
external: true
Естественно в requirements к app у меня прописано что нужно установить sqlalchemy, psycopg2
Dockerfile для app:
FROM python:latest
ENV PYTHONUNBUFFERED 1
WORKDIR /code
ADD requirements.txt requirements.txt
RUN pip install -r requirements.txt
ADD app.py app.py
CMD [ "python", "./app.py" ]
Будто не видит порта для app, при том что контейнеры для БД и графаны поднимает без проблем, а для приложения не видит
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not connect to server: Connection refused
Is the server running on host "my_db" (172.26.0.2) and accepting TCP/IP connections on port 5432?
пробовала в Docker-compose ставить порты для арр, однако тогда он выдает такую же ошибку.