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

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

如何修復在 docker 容器中調用公共地址時撥號 tcp i/o 超時?

如何修復在 docker 容器中調用公共地址時撥號 tcp i/o 超時?

Go
RISEBY 2023-07-17 14:59:32
我正在設置一個新的容器“A”,它從容器“B”調用一些端點。為什么這些調用總是返回dial tcp 116.2.153.48:8082: i/o timeout?來自容器“A”的調用正在使用公共 IP。所有容器都部署在CentOS 7上。每個容器都有自己的網絡,并在該網絡中擁有自己的數據庫。此外,返回錯誤的調用可以從任何 REST-API 客戶端(例如 Postman)正常工作。resolv.conf 文件中的名稱服務器已更改為 google 的 8.8.8.8 和 8.8.4.4錯誤:error="Post http://116.2.153.48:8082/[email protected]: dial tcp 116.203.153.48:8082: i/o timeout"從程序中調用:req, err := http.NewRequest(http.MethodPost, fmt.Sprintf("http://116.2.153.48:8082/new_user?email=%s", user.Email), nil)    if err != nil {        return err    }    httpClient := &http.Client{}    resp, err := httpClient.Do(req)    if err != nil {        return err    }更新:第一個容器的 Docker-compose:  payment-ms:    container_name: payment-ms    build:      context: .      dockerfile: Dockerfile    environment:      - DB_HOST=payment-ms-db    ports:      - 8082:8082第二個容器的 Docker-compose 文件:user-ms:    container_name: user-ms    build:      context: .      dockerfile: Dockerfile    environment:       - DB_HOST=user-ms-db    ports:       - 8080:8080    depends_on:      user-ms-db:        condition: service_healthy另外,在我的 MacOS 本地計算機上一切正常,問題僅在 CentOS7 的 VPS 上重現。
查看完整描述

1 回答

?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

該問題是由 2 個問題引發的。首先,容器必須位于同一網絡中。第二個,當容器在同一個網絡中時,相互調用必須使用屬性容器名稱host。例如:


$ docker ps -a

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                   PORTS                              NAMES

9c6c31b8ec21        user-ms             "./user-ms run"          3 minutes ago       Up 3 minutes             8080/tcp, 0.0.0.0:9980->9980/tcp   user-ms

13863218f942        finance-ms          "./finance-ms run"       3 minutes ago       Up 3 minutes             0.0.0.0:9982->9982/tcp             finance-ms

這意味著,curl 和來自容器的所有其他調用user-ms必須finance-ms帶有finance-ms:9982地址。


查看完整回答
反對 回復 2023-07-17
  • 1 回答
  • 0 關注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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