繁体   English   中英

在局域网内的Docker容器中运行的服务器无响应

[英]No response from server running in Docker container within LAN

我不确定这是网络问题还是Docker问题,但是我很难从局域网中另一台计算机上的服务器获得响应,该服务器在Docker的3000端口上运行Node.js服务器容器。 我使用Mac计算机作为客户端,使用Linux计算机作为服务器。 这些是我已采取的步骤:

使用<name of computer>.local:<port>在LAN上测试与另一台计算机的连接

  • 在Linux机器上运行服务器(仅使用不带容器的nod​​ejs)
  • 在Mac(客户端)计算机上,运行curl <name of linux computer>.local:3000
  • 按预期工作

在Docker容器中运行时测试与本地主机上服务器的连接

  • 使用命令docker run -p 127.0.0.1:3000:3000 <name of image>在容器内部的Linux计算机上运行服务器
  • 在Linux机器上,运行curl localhost:3000
  • 按预期工作

在Docker容器中运行服务器时测试与单独计算机的连接

  • 使用命令docker run -p 127.0.0.1:3000:3000 <name of image>在容器内部的Linux计算机上运行服务器
  • 在mac机上运行curl <name of linux computer>.local:3000
  • 服务器无响应

127.0.0.1 / localhost上侦听时,将无法在Linux主机外部访问该容器。

要绑定到所有可用接口,请使用:

docker run -p 3000:3000 <image>

或从ip address show指定公共可用接口的ip address show

docker run -p <public_ip>:3000:3000 <image>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM