Насколько я понимаю docker compose/fig, создание ссылки между двумя службами/образами является одной из основных причин, если вы не хотите открывать порты другим.
как здесь db не предоставляет никаких портов и только связано:
web:
build: .
links:
- db
ports:
- "8000:8000"
db:
image: postgres
Думает ли web, что db работает на своем локальном хосте? Могу ли я подключиться из сценария/программы в web к localhost: 5432 (стандартный порт из postgresql), чтобы получить соединение с базой данных?
И если это правильно, как вы можете изменить порт 5432 на 6432, не раскрывая? могу ли я просто запустить postgresql на другом порту?
Обновлять:
полезные ссылки после некоторого ввода: