🐷

Docker DesktopからSupabaseに繋がらなかったのはIPv6無効が原因だった

に公開

Docker Desktop 上のコンテナから Supabase の DB に繋がらなかった。
原因は、DNS が AAAA しか返しておらず、Docker Desktop で IPv6 が無効だから TCP が落ちていたから。

症状

  • Next.jsからの接続で getaddrinfo ENOTFOUND db.[projectid].supabase.co が発生。
  • docker run --rm busybox nslookup db.[projectid].supabase.co をコンテナから実行すると IPv6 (AAAA) しか返らない。。

原因

  • Docker Desktop で IPv6が無効になっていた。
  • Supabase の db.[projectid].supabase.co の DNS 応答が AAAA のみだったため、コンテナからの TCP が IPv6 宛で即落ちていた。

解決策

  1. Docker Desktop で IPv6 を有効化する: Settings → Resources → Network → Enable IPv6 を ON → Docker 再起動 → 再度接続テスト。

References

Discussion