【问题标题】:Assign container port to local port seems not working correctly?将容器端口分配给本地端口似乎无法正常工作?
【发布时间】:2019-02-24 13:04:10
【问题描述】:

最近,我为我的项目创建了一个容器,并尝试通过添加以下内容将其端口(9002,在 Dockerfile 中指定)分配给主机端口:

-p 9003:9002 (i attached it to port 9003 of the host )

当我生成新容器时,在“Docker 运行”中。然后我编写了一个在容器内运行的服务器程序,以使用端口 9002,我相信通过端口 9002 从我的容器发出的数据会以某种方式通过端口 9003 从主机 PC 中传出。
但是,在其他 pc 上运行的客户端程序没有从端口 9003 而是从 9002 接收任何内容。然后我意识到我不需要一开始就精确分配端口,只需将容器端口分配给我想要的任何主机端口,我就可以将数据发送到主机 PC 的任何端口。
那么我在这里对上面的分配命令有什么误解?
我想如果不分配端口,容器就不能在其网络之外进行通信?

【问题讨论】:

  • 当 2 个容器在同一个 docker 网络中运行时,它们不需要将它们的端口映射到主机上,它们可以在网络内进行通信。
  • @lvthillo 我上面的问题是关于连接到 Docker 网络之外的。

标签: docker linux-containers


【解决方案1】:

是的,没有分配端口,容器无法与网络外部通信。

对于其他问题,如果您可以共享 dockerfile,那么可以得到一些想法,得到您的第一个问题但没有答案。

【讨论】:

猜你喜欢
  • 2017-10-12
  • 2016-10-12
  • 1970-01-01
  • 1970-01-01
  • 2018-06-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-13
  • 1970-01-01
相关资源
最近更新 更多