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
Patricia Arquetteasal
2024-12-13 11:02:19688semak imbas

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

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

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!

Kenyataan:
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