PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Der Spring-Docker-Container kann nicht auf den Postgres-Docker-Container zugreifen

Der Hauptzweck von Docker Compose besteht darin, eine Reihe von Docker-Containern zu erstellen, die dann als unabhängige Einheiten funktionieren. Standardmäßig haben alle Container eine virtuelle Netzwerkverbindung zu allen anderen, obwohl Sie dies ändern können, wenn Sie dies wünschen. Sie erhalten diese Funktion, da Sie keine benutzerdefinierte Konfiguration angegeben haben.

Jeder der Container erhält eine virtuelle IP-Adresse innerhalb des von Docker eingerichteten virtuellen Netzwerks. Da diese dynamisch sind, macht Docker Compose es Ihnen einfacher, indem es interne DNS-Einträge erstellt, die jedem Dienst entsprechen. Sie haben also zwei Container, die als app angesprochen werden können und db jeweils entweder von sich selbst oder dem anderen. Wenn Sie Ping installiert haben, können Sie auch diese Namen pingen, entweder über docker-compose exec , oder über eine manuell erstellte Shell.

Wie wir in den Kommentaren festgestellt haben, können Sie sich also über app verbinden zu jdbc:postgresql://db:5432/media , und es sollte funktionieren.