Как изменить настройки docker для нескольких баз данных для проекта django?
Мой файл разработки выглядит следующим образом:
version: '3'
services:
db:
image: mdillon/postgis
container_name: sl_database
ports:
- "5432:5432"
volumes:
- db_vesatogo_starling_v1:/var/lib/postgresql/data
env_file:
- ./config/dev.env
networks:
- db_network
pgadmin:
image: dpage/pgadmin4:4.28
container_name: sl_admin
links:
- db
depends_on:
- db
environment:
PGADMIN_DEFAULT_EMAIL: admin
PGADMIN_DEFAULT_PASSWORD: password
ports:
- "80:80"
networks:
- db_network
redis:
image: redis:latest
container_name: sl_redis
ports:
- "6379:6379"
restart: always
networks:
- redis_network
networks:
db_network:
driver: bridge
redis_network:
driver: bridge
volumes:
db_vesatogo_starling_v1:
static:
Теперь я ввел в настройки реплику баз данных. Какие изменения я должен внести в файл разработки для реализации нескольких баз данных? Я попробовал добавить базу данных на другой сервер, который в данном случае 5433, так как я запускаю свою основную базу данных на 5432, но он показывает мне следующую ошибку: "Не удалось подключиться к серверу: Connection refused Сервер работает на хосте "db-replica" (172.25.0.3) и принимает TCP/IP соединения на порт 5433?". Пожалуйста, помогите мне!
- Сохраните разные имена служб, например, db: .
- Используйте отдельный порт хоста, но сохраните тот же порт контейнера "HOST_PORT:5432" .
- Создайте разные тома для этих реплик.
Позаботившись об этих трех пунктах, я думаю, вам не нужно ни о чем беспокоиться.
Это лишнее: Ваши службы db и pgadmin находятся в одной сети, следовательно, они могут общаться друг с другом. но службы redis не могут быть доступны двум другим службам. Чтобы исправить это, добавьте redis_network в pgadmin (предполагая, что pgadmin является точкой доступа)