第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

無法從同一網(wǎng)絡(luò)上的容器獲得響應(yīng),Docker compose,Mountebank

無法從同一網(wǎng)絡(luò)上的容器獲得響應(yīng),Docker compose,Mountebank

Go
POPMUISE 2022-10-10 19:40:48
我有一個 Go 應(yīng)用程序和三個用于應(yīng)用程序、數(shù)據(jù)庫和 mountebank 的 docker 容器來模擬/存根 HTTP 響應(yīng)。我希望我的 mountebank 容器在 test_api(應(yīng)用程序容器)發(fā)出請求時返回適當(dāng)?shù)捻憫?yīng)。當(dāng)我使用 Postman 調(diào)用端點時,mountebank 容器會返回正確的響應(yīng)。但是,當(dāng)我在 test_api 容器中的代碼像下面的代碼一樣發(fā)送 GET 請求時,它總是會收到撥打 tcp 127.0.0.1:3000:連接:連接被拒絕下面是 test_api 如何向 mountebank 容器發(fā)送請求func getSuper(id string) (*float64, error) {    var url = "http://localhost:3000/ato/employee/?/balance"    url = strings.Replace(url, "?", id, 1)    log.Println("Sending request to this url: ", url)    resp, err := http.Get(url)    if err != nil {        return nil, &errorhandling.RequestError{Context: "getSuper calling ato api", Code: errorhandling.Internal, Message: err.Error()}    }    body, err := resposeToByte(resp)    if err != nil {        log.Println("err in coverting response to byte[]:", err)        return nil, &errorhandling.RequestError{Context: "getsuper resposeToByte", Code: errorhandling.Internal, Message: err.Error()}    }    superData, err := UnmarshalSuperDetails(body)    if err != nil {        return nil, &errorhandling.RequestError{Context: "UnmarshalSuperDetails())", Code: errorhandling.Internal, Message: err.Error()}    }    log.Println("super details ", superData)    return &superData.SuperBalance, nil}這是我用于 mountebank 的 docker 文件FROM alpine:3.14ENV MOUNTEBANK_VERSION=2.4.0RUN apk add --update nodejs-lts && \    apk add --update npmRUN npm install -g mountebank@${MOUNTEBANK_VERSION} --productionEXPOSE 2525ENTRYPOINT ["mb"]CMD ["start"]如何更改我的代碼以使 test_api 收到來自 mountebank 的正確響應(yīng)?
查看完整描述

1 回答

?
holdtom

TA貢獻(xiàn)1805條經(jīng)驗 獲得超10個贊

您應(yīng)該在 test_api 中更改以下行;

var url = "http://localhost:3000/ato/employee/?/balance"

與以下一個;

var url = "http://mountebank:3000/ato/employee/?/balance"

由于這些是不同的容器,您應(yīng)該在 Docker 環(huán)境中指定它們的名稱或 IP。您的 test_api 請求其 localhost 并且沒有 3000 的開放端口,您將收到連接被拒絕錯誤。您可以查看Docker Networking以獲取更多信息。


查看完整回答
反對 回復(fù) 2022-10-10
  • 1 回答
  • 0 關(guān)注
  • 89 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號