如何使用 Docker 公开 1 个以上的端口?

新手上路,请多包涵

所以我有 3 个端口应该暴露给机器的接口。是否可以使用 Docker 容器来执行此操作?

原文由 nubela 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 737
2 个回答

要仅公开一个端口,您需要执行以下操作:

 docker run -p <host_port>:<container_port>

要公开多个端口,只需提供多个 -p 参数:

 docker run -p <host_port1>:<container_port1> -p <host_port2>:<container_port2>

原文由 Tania Ang 发布,翻译遵循 CC BY-SA 3.0 许可协议

步骤1

在您的 Dockerfile 中,您可以使用动词 EXPOSE 来公开多个端口。

例如

EXPOSE 3000 80 443 22

第2步

然后,您想基于上述 Dockerfile 构建一个新图像。

例如

docker build -t foo:tag .

第三步

然后您可以使用 -p 将主机端口映射到容器端口,如上定义的 EXPOSEDockerfile

例如

docker run -p 3001:3000 -p 23:22

如果您想公开一系列连续端口,您可以像这样运行 docker:

 docker run -it -p 7100-7120:7100-7120/tcp

原文由 mainframer 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
Stack Overflow 翻译
子站问答
访问
宣传栏