это просто вопрос теории, мое приложение работает отлично ...
Итак, у меня есть 3 службы, работающие с docker -композицией: postgres база данных * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} * * * * * * * * * * * * * * * * * * * * * * * * * * * 10 * * * * * * * 10 * * '' docker *. Я не знаю, что *1030*. выставить порт, поэтому нет необходимости открывать или связывать порты, потому что все они являются контейнерами и могут обращаться друг к другу с помощью режима моста по умолчанию (это то, что я узнал, не знаю, правильно ли это) .
Мне нужно только открыть порт из контейнера внешнего интерфейса, чтобы я мог получить доступ с моего локального хоста.
Дело в том, что я могу получить доступ к базе данных с помощью внутреннего интерфейса (backend -> database) без необходимости экспорта каких-либо портов, но с внешним интерфейсом (frontend -> backend) с использованием angular с nginx, работает только с открытым внутренним портом почему?
docker -compose.yml:
version: "3"
services:
### DATABASE ###
db:
image: postgres:latest
container_name: mydb
network_mode: bridge
environment:
- POSTGRES_PASSWORD=envpass
- POSTGRES_USER=envuser
- POSTGRES_DB=database
# It works without exposing
# expose:
# - 5432
# ports:
# - 5433:5432
### BACKEND ###
backend:
image: angularback
container_name: backend
network_mode: bridge
expose:
- 8080
ports:
- 8082:8080
depends_on:
- db
links:
- db
### FRONTEND ###
frontend:
image: angularfront
container_name: frontend
network_mode: bridge
expose:
- 80
ports:
- 8084:80
depends_on:
- backend
links:
- backend