我正在使用Go中的Gorilla框架来公开一个the服务。我在/hello上有一个"Hello World“端点,当从邮递员、浏览器或curl点击时,它工作得很好。
当我将它与Docker捆绑在一起时,问题就出现了。我的Dockerfile如下
FROM alpine
COPY ./target/himer-users-go /app
ENV PORT 9000
RUN echo $PORT
ENTRYPOINT /app
EXPOSE ${PORT}现在,我可以使用ssh进入容器并使用wget ping服务器(因为alpine没有与curl捆绑在一起)
但是当我像这样运行镜像时
docker run -d -p 9000:9000 namespace/image我不能以任何方式从我的主机系统访问服务器。
任何帮助都将不胜感激。
发布于 2017-07-09 20:09:28
我通过在0.0.0.0而不是在localhost上公开服务器解决了这个问题
问题是我已经告诉我的sent服务器只处理发送到localhost的请求。由于Docker所做的网络破坏,显示到您的were服务器的任何流量都看不到were服务器,就好像它们被发送到localhost一样。通过告诉was服务器监听0.0.0.0,我有效地告诉它,它不关心流量最初发送到哪里,它会接受所有流量。
https://stackoverflow.com/questions/44996153
复制相似问题