Docker Composeの主な目的は、Dockerコンテナーのセットを起動することです。これらのコンテナーは、独立したエンティティとして機能します。デフォルトでは、すべてのコンテナが他のすべてのコンテナに仮想ネットワーク接続されますが、必要に応じて変更できます。カスタム構成を指定していないため、この機能を利用できます。
各コンテナーは、Dockerによってセットアップされた仮想ネットワーク内の仮想IPアドレスを取得します。これらは動的であるため、Docker Composeを使用すると、各サービスに対応する内部DNSエントリを簡単に作成できます。したがって、2つのコンテナがあり、appとしてアドレス指定できます。 およびdb それぞれ、自分自身または他の人から。 pingがインストールされている場合は、docker-compose execを使用して、これらの名前にもpingを実行できます。 、または手動で作成されたシェルを介して。
したがって、コメントで発見したように、appから接続できます jdbc:postgresql://db:5432/mediaへ 、そしてそれはうまくいくはずです。