Docker Compose fügt tatsächlich die Hostnamen aller Ihrer verknüpften Container zusammen.
Auf Ihrem Computer läuft die Postgres-Datenbank tatsächlich in localhost, deshalb haben Sie den localhost Hostname.
In Compose läuft es im Postgres-Container mit dem Hostnamen postgres , dafür gibt es postgres Hostname.
Wenn Sie möchten, können Sie einen Eintrag in Ihrer Hostdatei erstellen, um postgres umzuleiten zu localhost , müssen Sie dann nur noch postgres verwenden überall.