Один контейнер должен с помощью aiopg создавать таблицу и добавлять туда данные. Контейнер с docker-compose и прогой, которая добавляет данные описаны так:
P.S. файл сокращен, чтобы не был слишком громоздким. Показана часть, которая выдаёт ошибки.
version: "3.9"
services:
db:
image: postgres:13
volumes:
- ./data/db:/var/lib/postgresql/data
environment:
- POSTGRES_DB=drama
- POSTGRES_USER=drama_user
- POSTGRES_PASSWORD=pass
ports:
- "5432:5432"
dramatiq:
build:
context: ./
dockerfile: ./dramatiq/Dockerfile
depends_on:
- redis
- db
Dockerfile у контейнера dramatiq ничем не примечателен. Просто копирование всех файлов в директории, установление зависимостей и запуск кода.
Вот подключение через aiopg:
connection = await aiopg.connect(database="drama", user="drama_user", password="pass", host="db")
cursor = await connection.cursor()
После того, как я поднимаю докер контейнеры, в логах вижу следующую ошибку:
dramatiq_1 | File "/usr/local/lib/python3.9/site-packages/aiopg/connection.py", line 788, in _ready
dramatiq_1 | state = self._conn.poll()
dramatiq_1 | psycopg2.OperationalError: could not connect to server: Connection refused
dramatiq_1 | Is the server running on host "db" (172.29.0.3) and accepting
dramatiq_1 | TCP/IP connections on port 5432?
С чем может быть связана такая ошибка?