我正在学习docker,这是我的dockerfile。我在docker中启动一个http服务,并暴露9999端口,内容如下:
FROM golang:1.20
LABEL authors="tom"
WORKDIR /app
COPY . /app
RUN go build -o main .
EXPOSE 9999
ENTRYPOINT ["/app/main"]
步骤 1:我构建 dockerfile 来生成名为“cache-go”的 docker 镜像。
步骤2:我使用以下命令运行docker服务:docker run --net=host -p 8899:9999 cache-go。
步骤3:我在docker shell中测试我的web api:curl“http://localhost:9999/api?key=Tom”,成功了。
步骤 4 :我尝试访问我的真实主机上的 web-api:“http://localhost:8899/api?key=Tom”。失败
步骤1到3都是正确的,我尝试打开防火墙并启用IpEnablerouting设置,但仍然失败。我对这个问题感到困惑,请帮助我,我将不胜感激。
我尝试打开防火墙并启用IpEnablerouting设置,但仍然失败。
-------------done------------我将 127.0.0.1 编辑为 0.0.0.0 并解决了问题。我通过阅读这篇博客 pythonspeed.com/articles/docker-connection-refused 了解了这一点