亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Docker-Compose 服務不通信

Docker-Compose 服務不通信

Go
胡子哥哥 2023-06-12 15:37:12
Docker 新手警報。希望這不是一個愚蠢的問題,但我似乎無法弄清楚發生了什么。我正在嘗試創建一個 docker-compose 文件,該文件創建一個帶有已安裝卷的 mysql 數據庫和一個連接到 mysql 數據庫的 go webserver 應用程序。這是我的 docker-compose 文件:services:  db:    image: mysql:8.0.2    environment:       MYSQL_ROOT_PASSWORD: test      MYSQL_DATABASE: northernairport    ports:      - "3306:3306"    volumes:      - /data:/var/lib/mysql  web:    depends_on:      - db    build: .    ports:      - "8080:8080"雖然我的 go 應用程序似乎無法連接到我的 mysql 數據庫,但我認為“depends_on”將確保這是可能的。我得到的錯誤:panic: dial tcp 127.0.0.1:3306: getsockopt: connection refused誰能告訴我我在這里做錯了什么?謝謝。
查看完整描述

2 回答

?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

onlydepends_on控制服務的構建和啟動順序。

您的實際問題更有可能是您使用了從 Web 應用程序到數據庫的錯誤地址。我看到您沒有定義任何網絡,因此您正在使用default為您的應用程序創建的網絡docker-compose。這將在默認網絡的 DNS 上按名稱發布每個服務。

因此,您的 Web 應用程序可能應該用作db:3306數據庫地址,而不是localhost:3306錯誤127.0.0.1:3306消息中指示的地址。


查看完整回答
反對 回復 2023-06-12
?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

ports部分用于以下列格式將容器端口與主機映射ports (HOST:CONTAINER)。這意味著您正在嘗試訪問主機的機器,而是配置web要連接的應用程序db:3306。



查看完整回答
反對 回復 2023-06-12
  • 2 回答
  • 0 關注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號