Ich gehe davon aus, dass Postgres auf Port 5432 im Container ausgeführt wird und Sie es auf dem Host auf 5433 verfügbar machen möchten.
Diese Ports Strophe:
ports:
- "5433:5432"
wird den Server auf Port 5433 auf dem Host verfügbar machen. In diesem Szenario können Sie Ihre vorhandene Expose-Strophe loswerden.
Wenn Sie den Dienst nur anderen in der Compose-Datei deklarierten Diensten (und NICHT localhost) zur Verfügung stellen möchten, verwenden Sie einfach den Expose-Strophe und verweisen Sie auf den bereits intern bereitgestellten Port 5432.
Denken Sie daran, dass die EXPOSE-Direktive eigentlich nichts bewirkt (sie ist eher ein Hinweis für Sie). Port 5432 wird den anderen Diensten offengelegt, die in der Compose-Datei mit oder ohne die Direktive.
deklariert sind