Bagaimana untuk Menyambung ke Pelayan MySQL daripada Aplikasi Go dalam Docker Apabila Menghadapi \'Sambungan Ditolak\'?

Linda Hamilton
Lepaskan: 2024-10-30 05:33:28
asal
482 orang telah melayarinya

How to Connect to a MySQL Server from a Go Application in Docker When Encountering

Ralat: Sambungan Ditolak Semasa Menyambung ke Pelayan MySQL daripada Go in Docker

Apabila cuba menyambung ke pelayan MySQL daripada aplikasi Go yang dijalankan dalam Docker, pembangun mungkin menghadapi ralat berikut:

dial tcp 127.0.0.1:3306: connect: connection refused
Salin selepas log masuk

Punca:

Secara lalai, bekas Docker dijalankan dalam ruang rangkaian terpencil, menjadikannya mustahil untuk aplikasi yang berjalan di dalam mengakses hos secara terus localhost mesin.

Penyelesaian:

Untuk menyelesaikan isu ini, gunakan nama hos khas docker.for.mac.localhost dan bukannya localhost. Alamat ini membolehkan komunikasi dengan perkhidmatan mesin hos dengan menggunakan rangkaian Docker:

  1. Kemas kini rentetan sambungan dalam kod Go:
<code class="go">db, err = sql.Open("mysql", dbUser+":"+dbPassword+"@tcp(docker.for.mac.localhost:3306)/"+dbName)</code>
Salin selepas log masuk
  1. Jika menggunakan Docker Compose, tambah baris berikut pada fail docker-compose.yml di bawah definisi perkhidmatan untuk bekas pangkalan data:
<code class="yml">ports:
  - "3306:3306"</code>
Salin selepas log masuk

Ini akan memetakan port mesin hos 3306 ke port kontena 3306, membenarkan aplikasi Go menyambung melalui port yang betul.

Atas ialah kandungan terperinci Bagaimana untuk Menyambung ke Pelayan MySQL daripada Aplikasi Go dalam Docker Apabila Menghadapi \'Sambungan Ditolak\'?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!