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 ставить порты для арр, однако тогда он выдает такую же ошибку.


Ответы (0 шт):