注意:正常的docker run -p ip:port2:port1命令实际上是执行address+port转换(NAT),而不是NAT(地址转换)。是否可以只映射地址,但保持所有暴露的端口与容器相同,如docker run -p=ip1:*:* ...,而不是一个接一个或一个范围?在linux上,您可以通过ip和端口访问任何容器,无需任何绑定(无-p) ootb。Docker版本: CE 17+
如果您的主机是windows,并且docker运行
我不确定这是网络问题,还是码头问题,但我很难从局域网中的另一台机器上获得服务器的响应,该服务器在Docker容器的3000端口上运行nodejs服务器。我使用Mac电脑作为客户端,Linux计算机作为服务器。以下是我所采取的步骤:
在Mac(客户端)计算机上运行curl <name of linux computer>.local:300