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!