我试图创建一个码头容器,其中包含狂欢骨架应用程序。一切看起来都是构建的,OK和容器都创建了,但是当我进入localhost:9000在我的浏览器中,什么都没有出现。
为了确保我的环境正常工作,我创建了一个简单的hello world go应用程序,并为它创建了一个对接容器。使用相同的端口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时,我希望看到它的工作文本!
发布于 2018-12-30 18:40:27
您正在监听localhost:9000,所以127.0.0.1指向您的容器,而不是本地机器。
你有两种解决方案可以让它发挥作用:
0.0.0.0:9000https://stackoverflow.com/questions/53980344
复制相似问题