【问题标题】:Running server using docker server starts but request not reaching server使用 docker server 运行服务器启动但请求未到达服务器
【发布时间】:2020-02-26 17:19:25
【问题描述】:

我正在尝试使用 docker 映像运行我的服务器 我在本地系统上拉取 docker 映像 并运行它,服务器启动,一切似乎都很好,但是当我通过邮递员向服务器发送请求时,我得到“无法得到任何响应”,请求没有到达我的服务器

我将请求发送至http://127.0.0.1:4000

服务器在 127.0.0.1:4000 上运行

docker pull image_name docker run image_name

我也试过给 docker run -p 4000:4000 image_name

我的 docker 文件:

FROM python:3
EXPOSE 4000
CMD command to run server

任何想法我可能做错了什么或我应该怎么做才能使它正常工作

当我进入 docker image bash 并发送 curl 命令时得到响应

【问题讨论】:

  • 您要运行什么图像?应用程序很可能在容器内的端口 80 上运行,因此您的端口映射需要为 4000:80
  • @NickSpicer 我正在运行我创建的图像,将其添加到描述中,我将尝试该映射并让您知道
  • 我得到与 4000:80 相同的结果
  • 你的应用应该在容器内监听*:80,你应该使用(host):4000进行连接
  • 如果服务器正在监听 127.0.0.1,它将无法从其容器外部访问;它需要监听特殊的“所有接口”地址 0.0.0.0。

标签: docker


【解决方案1】:

我认为 4000 已经在您的系统中使用了尝试在不同的端口上运行 python 服务器或检查您的 python 服务器是否在 4000 上运行,因为您的 EXPOSE 在 4000,所以这意味着您的 docker 容器和 python 服务器都在运行在 4000:4000 上。

【讨论】:

    猜你喜欢
    • 2020-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    • 2020-01-20
    • 2011-01-06
    • 2016-09-07
    相关资源
    最近更新 更多