【发布时间】:2019-05-27 13:36:02
【问题描述】:
我正在尝试创建一个包含 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!
【问题讨论】:
-
当您尝试访问该 URL 时会发生什么?
-
当我去 localhost:9000 chrome 显示:localhost 没有发送任何数据。 ERR_EMPTY_RESPONSE
-
那么容器日志中有什么内容?
-
它与控制台中显示的内容相同,也就是我上面帖子的最后一部分中显示的内容。
标签: docker go dockerfile revel