我不确定这是网络问题还是Docker问题,但是我很难在LAN上的另一台机器上从服务器获得响应,该机器在端口3000上运行nodejs服务器在Docker容器中。我使用Mac计算机作为客户端,使用Linux计算机作为服务器。这些是我采取的步骤:
使用<name of computer>.local:<port>
curl <name of linux computer>.local:3000
在Docker容器内部运行时测试localhost上与服务器的连接
docker run -p 127.0.0.1:3000:3000 <name of image>
curl localhost:3000
在Docker容器中运行服务器时测试与单独计算机的连接
docker run -p 127.0.0.1:3000:3000 <name of image>
curl <name of linux computer>.local:3000
答案 0 :(得分:1)
在127.0.0.1
/ localhost
上收听时,该容器无法在Linux主机外部访问。
要绑定到所有可用接口,请使用:
docker run -p 3000:3000 <image>
或者从ip address show
docker run -p <public_ip>:3000:3000 <image>