Rumah > pembangunan bahagian belakang > Golang > Sambungan Docker Compose Postgres Ditolak: Mengapa pgAdmin Berfungsi Tetapi Aplikasi Go Saya Gagal?

Sambungan Docker Compose Postgres Ditolak: Mengapa pgAdmin Berfungsi Tetapi Aplikasi Go Saya Gagal?

Susan Sarandon
Lepaskan: 2024-12-05 13:50:12
asal
384 orang telah melayarinya

Docker Compose Postgres Connection Refused: Why Does pgAdmin Work But My Go App Fails?

[Docker Compose] Ralat Sambungan Postgres: Menyelesaikan "sambungan ditolak"

Masalah:
Apabila mencuba untuk mewujudkan sambungan Go ke pangkalan data Postgres yang berjalan dalam Docker Compose, ralat "sambungan ditolak" ditemui, walaupun berjaya menyambung daripada pg-admin.

Sebab:
Rentetan sambungan merujuk nama hos pangkalan data sebagai "postgres," yang sepadan dengan nama perkhidmatan dalam Docker Compose. Walau bagaimanapun, nama bekas sebenar ialah "pangkalan data."

Penyelesaian:
Untuk menyelesaikan isu, sama ada menamakan semula bekas pangkalan data dalam fail Docker Compose kepada "postgres" atau nyatakan secara jelas nama hos:

database:
  build: database
  restart: always
  hostname: postgres  # Add this line
Salin selepas log masuk

Tambahan Pertimbangan:

  • Rangkaian: Menambah rangkaian khusus untuk berbilang perkhidmatan kontena untuk berkomunikasi boleh meningkatkan ketersambungan.
  • Rentetan Sambungan : Pastikan rentetan sambungan dalam kod Go (_str_) termasuk yang betul nama hos:

    str := fmt.Sprintf("database://%s:%s@%s:%s/%s?sslmode=disable", user, pass, "postgres", port, dbname)  # Update the hostname to "postgres"
    Salin selepas log masuk

Atas ialah kandungan terperinci Sambungan Docker Compose Postgres Ditolak: Mengapa pgAdmin Berfungsi Tetapi Aplikasi Go Saya Gagal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan