Docker 端口未公开 Golang

mor*_*dew 0 networking docker

我正在 docker 中构建 golang WebService。构建看起来不错,但我无法公开端口以供外部(容器外部)访问。当我从命令行(在容器内)curl 时,应用程序似乎工作正常。

我看到很多类似问题的帖子,但不幸的是许多都没有解决或似乎不适用。

FROM golang:alpine
RUN mkdir /go/src/webservice_refArch
ADD . /go/src/webservice_refArch
WORKDIR /go/src/webservice_refArch
RUN apk add curl
RUN cd /go/src/webservice_refArch/ && go get ./...
RUN cd /go/src/webservice_refArch/cmd/reference-w-s-server && go build -o ../../server
EXPOSE 7878
ENTRYPOINT ["./server", "--port=7878"]
Run Code Online (Sandbox Code Playgroud)

我都尝试过:

  • :7878
  • 本地主机:7878

小智 6

我面临着同样的问题。然后我所做的是将 ListernHost 从 localhost 更改为 0.0.0.0 并且它起作用了。

为了调试这个,在容器内尝试了curl,它工作正常,但在容器外,curl的响应是空白的。端口已映射,但内容未在容器外部提供。将“localhost”更改为 0.0.0.0 后,它将起作用。