Несколько Служб докеров Postgres

#postgresql #docker

Вопрос:

Я пытаюсь запустить несколько служб postgres — одну для воздушного потока и одну в качестве базы данных, которая будет заполнена при выполнении DAG воздушного потока. Вот мои текущие услуги в docker-compose.yml:

 aact:  image: postgres:13  environment:  POSTGRES_USER: aact  POSTGRES_PASSWORD: aact  POSTGRES_DB: aact  ports:  - 5433:5432  volumes:  - ./snapshotsCreate.sql:/docker-entrypoint-initdb.d/snapshotsCreate.sql  restart: always  networks:  - trial_explorer_db_network  profiles:  - airflow  postgres:  image: postgres:13  ports:  - 5432:5432  environment:  POSTGRES_USER: airflow  POSTGRES_PASSWORD: airflow  POSTGRES_MULTIPLE_DATABASES: airflow, aact  volumes:  - postgres-db-volume:/var/lib/postgresql/data  healthcheck:  test: ["CMD", "pg_isready", "-U", "airflow"]  interval: 5s  retries: 5  restart: always  networks:  - backend  profiles:  - airflow  

Когда я пытаюсь использовать

 docker exec -it lt;aact service container idgt; psql -U aact  

Я получаю эту ошибку:

 psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: role "aact" does not exist  

Любая помощь будет очень признательна!

Комментарии:

1. попробуйте подключиться к контейнеру и из него подключиться к postgre: docker exec -it lt;aact service container idgt; bash затем попробуйте psql -U aact

2. Делание docker exec -it lt;aact service container idgt; bash тогда psql -U aact работало. Большое спасибо!

3. Рад слышать. Я поставлю это в качестве ответа для вас, так как это сработало.

Ответ №1:

Сначала попробуйте подключиться к контейнеру docker, а оттуда подключиться к вашей базе данных postgresql.

Первый запуск:

 docker exec -it lt;aact service container idgt; bash  

Затем, оказавшись в контейнере, подключитесь к своей базе данных с помощью:

 psql -U aact