首頁 >後端開發 >Golang >初始化資料庫失敗,出現錯誤撥號 tcp 127.0.0.1:3306: connect: 連線被拒絕 問題

初始化資料庫失敗,出現錯誤撥號 tcp 127.0.0.1:3306: connect: 連線被拒絕 問題

WBOY
WBOY轉載
2024-02-06 10:42:041164瀏覽

初始化数据库失败,出现错误拨号 tcp 127.0.0.1:3306: connect: 连接被拒绝 问题

問題內容

我正在學習 docker,現在就開始吧 但是當我用這個 docker 運行時我遇到了問題 docker run --rm -p 8080:8080/tcp --env-file .env my-project:latest 這是我的一些 .env 程式碼。我在 Windows 上使用 docker 桌面,是否無法在 Windows 中的 localhost 上執行 docker?

DB_HOST=127.0.0.1
DB_USERNAME=root
DB_NAME=mydbs
DB_PASS=root123
AUTH_GEN_URL=https://api.learning.mydbs.id

有人知道嗎?任何答案將不勝感激

謝謝你


正確答案


問題是,當您啟動容器時,它會嘗試連接到容器內的127.0.0.1:3306 而不是主機,因此您會收到錯誤,因為連線被拒絕,因為連接埠3306 上沒有任何內容可以執行容器中的本機。

對於 Windows 和 Mac,可以使用 host.docker.internal 而不是 127.0.0.1 輕鬆修復此問題。這可確保容器內執行的服務正確連接到主機上執行的 MySQL 執行個體。

對於 Linux,它甚至更簡單,因為您所要做的就是將 --network="host" 選項傳遞給 docker run 命令

以上是初始化資料庫失敗,出現錯誤撥號 tcp 127.0.0.1:3306: connect: 連線被拒絕 問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除