为了账号安全,请及时绑定邮箱和手机立即绑定

Revel 和 Docker 容器

Revel 和 Docker 容器

Go
守候你守候我 2023-05-22 17:27:09
我正在尝试创建一个包含 revel 骨架应用程序的 docker 容器。一切似乎都构建正常并且容器已创建但是当我在浏览器中转到 localhost:9000 时什么也没有出现。为了确保我的环境正常工作,我创建了一个简单的 hello world go 应用程序并为其创建了一个 docker 容器。它使用相同的端口 9000 工作正常。这让我觉得我的 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 执行命令并创建容器后,控制台显示: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当我转到 localhost:9000 时,我希望看到文本 It Works!
查看完整描述

1 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

您正在收听localhost:9000,因此 127.0.0.1 指向您的容器而不是您的本地计算机。

您有两种解决方案来使其工作:

  • 继续听0.0.0.0:9000

  • 在您的 docker run 命令中使用 --network="host" :您的 docker 容器中的 127.0.0.1 将指向您的 docker 主机。


查看完整回答
反对 回复 2023-05-22
  • 1 回答
  • 0 关注
  • 128 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信