Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Curl Golang Web服务器可以';不能从Docker访问_Curl_Docker_Go_Gorilla - Fatal编程技术网

Curl Golang Web服务器可以';不能从Docker访问

Curl Golang Web服务器可以';不能从Docker访问,curl,docker,go,gorilla,Curl,Docker,Go,Gorilla,我正在使用Go中的Gorilla框架来公开Web服务。我在/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到容器中,并使用wgetpi

我正在使用Go中的Gorilla框架来公开Web服务。我在
/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
我无法从主机系统以任何方式访问服务器


任何帮助都将不胜感激。

我将服务器暴露在
0.0.0
而不是
localhost


问题是我告诉我的Web服务器只服务发送到本地主机的请求。由于Docker造成的网络混乱,显示到Web服务器的流量中没有一个看起来像是发送到
localhost
的Web服务器。通过告诉Web服务器监听
0.0.0.0
,我实际上是在告诉它,它不在乎流量最初发送到哪里,它会接受所有流量。

我通过将服务器暴露在
0.0.0
而不是
localhost


问题是我告诉我的Web服务器只服务发送到本地主机的请求。由于Docker造成的网络混乱,显示到Web服务器的流量中没有一个看起来像是发送到
localhost
的Web服务器。通过告诉Web服务器侦听
0.0.0.0
,我实际上是在告诉它,它不在乎流量最初发送到哪里,它会接受所有流量。

alpine没有安装和配置SSH服务器,您应该使用
docker exec
查看文档。如果没有安装和配置SSH服务器,您应该使用
docker exec
查看文档