(prisma)Can't reach database server at

nest.jsの学習を始めたところdocker composeでprismaコンテナとpostgresコンテナを立てている状態で、prismaからDBに接続できませんでした。
慣れた作業のはずなのに何故

結論

タイムアウトが原因でした。。。 for.kobayashiii.dev こちらの情報無かったら一生気づかなかったと思います。ありがとうございます。


以下調べてた時の様子になります。

DB設定(docker-compose.yaml)

  dev-postgres:
    image: postgres:14.4-alpine
    ports:
      - 5432:5432
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: passwd
      POSTGRES_DB: db
    restart: always

prismaコンテナ内からサービス名dev-postgresで接続できる(warning出てますが)

root@a8bdedef3739:/app# psql -h dev-postgres -p 5432 -U user -d db
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Password for user user: 
psql (11.21 (Debian 11.21-0+deb10u2), server 14.4)
WARNING: psql major version 11, server major version 14.
         Some psql features might not work.
Type "help" for help.

db=# 

prisma設定箇所
調査のため一時的に直書き

datasource db {
  provider = "postgresql"
  //url      = env("DATABASE_URL")
  url      = "postgresql://user:passwd@dev-postgres:5432/db?schema=public"
}

prisma migrateでエラー

root@a8bdedef3739:/app# npx prisma migrate dev
Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Datasource "db": PostgreSQL database "db", schema "public" at "dev-postgres:5432"

Error: P1001

Can't reach database server at `dev-postgres`:`5432`

Please make sure your database server is running at `dev-postgres`:`5432`.

こういうエラーで時間取られると辛いですね。。