Rumah > pembangunan bahagian belakang > Golang > Mengapa Aplikasi My Go Menolak Sambungan Postgres dalam Docker Compose?

Mengapa Aplikasi My Go Menolak Sambungan Postgres dalam Docker Compose?

Patricia Arquette
Lepaskan: 2024-12-13 11:02:19
asal
690 orang telah melayarinya

Why Does My Go Application Refuse a Postgres Connection in Docker Compose?

Docker-Compose: Sambungan ke Postgres Ditolak

Apabila menyambung ke Postgres melalui pg-admin dari dalam persediaan Docker-compose, pengguna boleh menghadapi keengganan untuk mewujudkan sambungan daripada aplikasi Go mereka. Artikel ini menyelidiki isu ini dan menyediakan penyelesaian.

Isu ini timbul apabila URL pangkalan data yang dijana oleh aplikasi Go merujuk nama hos pangkalan data sebagai "postgres", manakala nama bekas/perkhidmatan sebenar ialah "pangkalan data." Untuk menyelesaikan masalah ini, pertimbangkan sama ada menukar nama dalam fail compose.yaml atau mentakrifkan medan nama hos secara eksplisit. Contohnya:

database:
  build: database
  restart: always
  hostname: postgres
Salin selepas log masuk

Sebagai alternatif, buat rangkaian khusus untuk berbilang perkhidmatan kontena untuk berkomunikasi antara satu sama lain, menghalang isu sambungan. Tambahkan bahagian "rangkaian" pada setiap konfigurasi perkhidmatan dan tentukan rangkaian pada penghujung compose.yaml:

database:
  # ...
  networks:
    - mynet

backend:
  # ...
  networks:
    - mynet

networks:
  mynet:
    name: my-shared-db-network
Salin selepas log masuk

Dengan melaksanakan perubahan ini, anda boleh mewujudkan sambungan antara aplikasi Go anda dan Postgres sambil juga memastikan komunikasi yang cekap dalam persekitaran karang Docker.

Atas ialah kandungan terperinci Mengapa Aplikasi My Go Menolak Sambungan Postgres dalam Docker Compose?. 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