繁体   English   中英

Revel 和 Docker 容器

[英]Revel and Docker container

我正在尝试创建一个包含 revel 框架应用程序的 docker 容器。 一切似乎都构建正常并且容器已创建,但是当我在浏览器中转到 localhost:9000 时,什么也没有出现。
为了确保我的环境正常工作,我创建了一个简单的 hello world go 应用程序并为其创建了一个 docker 容器。 它使用相同的端口 9000 运行正常。这让我认为我的 dockerfile 中没有正确配置某些内容。

Dockerfile:

#Compile stage
FROM golang:1.11.4-alpine3.8 AS build-env
ENV CGO_ENABLED 0
RUN apk add --no-cache git
ADD . /go/src/revelapp

# Install revel framework
RUN go get -u github.com/revel/revel
RUN go get -u github.com/revel/cmd/revel
#build revel app
RUN revel build revelapp app dev

# Final stage
FROM alpine:3.8
EXPOSE 9000
WORKDIR /
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!

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

您有两种解决方案可以使其发挥作用:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM