Эта штука используется только чтобы порт подменить, но хост нейм то у контейнера свой будет
На одном порту может сидеть один процесс, если мне не изменяет память. Поэтому, если открыть на хосте PostgreSQL на порту 5432, то создать контейнер с пробросом "5432:5432" не получится (поправьте, если это не так), т.к. порт 5432 хоста уже занят хостовым процессом постгреса.
А вот если не пробрасывать порт, то норм. Хост в своей сети, контейнеры из compose — в своей