我正在嘗試創(chuàng)建一個(gè)包含 revel 骨架應(yīng)用程序的 docker 容器。一切似乎都構(gòu)建正常并且容器已創(chuàng)建但是當(dāng)我在瀏覽器中轉(zhuǎn)到 localhost:9000 時(shí)什么也沒(méi)有出現(xiàn)。為了確保我的環(huán)境正常工作,我創(chuàng)建了一個(gè)簡(jiǎn)單的 hello world go 應(yīng)用程序并為其創(chuàng)建了一個(gè) docker 容器。它使用相同的端口 9000 工作正常。這讓我覺(jué)得我的 dockerfile 中配置不正確。文件:#Compile stageFROM golang:1.11.4-alpine3.8 AS build-envENV CGO_ENABLED 0RUN apk add --no-cache gitADD . /go/src/revelapp# Install revel frameworkRUN go get -u github.com/revel/revelRUN go get -u github.com/revel/cmd/revel#build revel appRUN revel build revelapp app dev# Final stageFROM alpine:3.8EXPOSE 9000WORKDIR /COPY --from=build-env /go/app /ENTRYPOINT /run.sh使用的 Docker 命令:docker build -t revelapp . && docker run -p 9000:9000 --name revelapp revelapp 執(zhí)行命令并創(chuàng)建容器后,控制臺(tái)顯示:INFO 17:25:01 app run.go:32: Running revel server INFO 17:25:01 app plugin.go:9: Go to /@tests to run the tests. Revel engine is listening on.. localhost:9000當(dāng)我轉(zhuǎn)到 localhost:9000 時(shí),我希望看到文本 It Works!
1 回答

楊魅力
TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
您正在收聽(tīng)localhost:9000
,因此 127.0.0.1 指向您的容器而不是您的本地計(jì)算機(jī)。
您有兩種解決方案來(lái)使其工作:
繼續(xù)聽(tīng)
0.0.0.0:9000
在您的 docker run 命令中使用 --network="host" :您的 docker 容器中的 127.0.0.1 將指向您的 docker 主機(jī)。
- 1 回答
- 0 關(guān)注
- 164 瀏覽
添加回答
舉報(bào)
0/150
提交
取消