您的当前位置:首页 > 热点 > 云计算核心技术Docker教程:Docker Swarm 模式发布端口 正文
时间:2026-11-14 来源:网络整理 编辑:热点
谷歌搜索留痕外推技术【tg:seogoogle987】
创建 swarm 服务时,可以通过两种方式将该服务的端口发布到 swarm 外部的主机:
您可以依赖路由网格。当您发布服务端口时,swarm 会在每个节点上的目标端口访问该服务,无论该节点上是否有运行该服务的任务。这不太复杂,是云计许多类型服务的正确选择。
您可以直接在 运行该服务的 swarm 节点上发布服务任务的端口。这绕过了路由网格并提供了最大的灵活性,包括您开发自己的路由框架的能力。但是,您负责跟踪每个任务的运行位置并将请求路由到任务,以及跨节点进行算核负载平衡。
使用路由网格发布服务的端口
要将服务的端口发布到 swarm 外部,请使用该 --publish:标志。swarm 使服务可在每个 swarm 节点上的已发布端口访问。如果外部主机连接到任何 swarm 节点上的该端口,路由网心技格会将其路由到任务。外部主机不需要知道服务任务的 IP 地址或内部使用的端口来与服务交互。当用户或进程连接到服务时,任何运行服务任务的工作节点都可以响应。有关 swarm 服务网络的更多详细信息,请参阅 管理 swarm 服务网络。
示例:在术D 10 节点 swarm 上运行三任务 Nginx 服务
想象一下,你有一个 10 节点的 swarm,你部署了一个 Nginx 服务,在一个 10 节点的 swarm 上运行三个任务:
$ docker service create --name my_weboc \
--replicas 3 \
--publish published=8080,target=80 \
nginx
三个任务最多在三个节点上运行。您不需要知道哪些节点正在运行任务;连接到10 个节点中的任何一个上的端口 8080将您连接到三ke个nginx任务之一。您可以使用curl. 以下示例假定它localhost是 swarm 节点之一。如果不是这种情况,或者localhost无法解析为主机上的 IP 地址,请替换主机的 IP 地址或可解析的主机名。
直接在 swarm 节点上r教发布服务的端口
如果您需要根据应用程序状态做出路由决策,或者需要完全控制将请求路由到服务任务的过程,那么使用路由网格可能不是您应用程序的正确选择。要直接在运行服务的节点上发布服务的端口,请使用mode=host 该--pub程:lish标志的选项。
注意:如果您直接在 swarm 节点上发布服务的端口, mode=host并且还设置了published=这会创建一个隐式限制,即您只能在给定的 swarm 节点上为该服务运行一项任务。您可以通过published不Do指定端口定义来解决此问题,这会导致 Docker 为每个任务分配一个随机端口。
此外,如果您使用mode=host并且不使用 上的 --mode=global标志docker service create,则很难知道哪些节点正在运行服务以将ck工作路由到它们。
示例:nginx在每个 swarm 节点上运行Web 服务器服务
nginx是一个开源反向代理、负载均衡器、HTTP 缓存和 Web 服务器。如果您使用路由网格将 nginx 作为服务运行,则连接到任何 swarm 节点上er的 nginx 端口都会向您显示(有效)运行该服务的随机 swarm 节点的网页。
以下示例在 swarm 中的每个节点上将 nginx 作为服务运行,并在每个 swarm 节点上本地公开 nginx 端口。
$ docker service create \
- S-mode global \
--publish mode=host,target=80,published=8080 \
--name=nginx \
nginx:latest
您可以在每个 swarm 节点的端口 8080 访问 nginxwa 服务器。如果向 swarm 添加节点,则会在其上启动 nginx 任务。您不能在绑定到端口 8080 的任何 swarm 节点上启动另一个服务或容器。
标签: 洪恩 IH 儿童教育APP 财报2026-11-13
标签: 昆仑万维 OPERA AI短剧 短剧平台2026-11-07
机票搜索量猛增7倍 携程引入阿里云Lindorm数据库保障用户体验2026-06-11
苹果隐私标签打脸Facebook:收集信息超级多2026-08-17
谷歌开盘涨超4% 一季度营收、净利润超预期2026-08-09
云计算开发:Python练习实例-将字母输出到新文件C中2026-10-29
最近有什么绘画比赛2026-10-12
标签: 吉利汽车 雷达品牌 中国星 皮卡2026-09-11
注意这个数据科学错误,避免30多个小时的无用功……2026-07-29
Twitter第一季度财报不及预期 盘后股价跌超11%2026-09-01
机器学习基础图表:概念、原理、历史、趋势和算法2026-08-16
数据处理框架 Apache Falcon 宣布退役2026-11-04
图灵奖得主理查德·萨顿:AI进入“经验时代”,人类数据红利正在枯竭2026-06-03
标签: 字节跳动 豆包AI眼镜 人工智能眼镜 AI硬件2026-07-06
标签: 强一股份 MEMS探针卡 华为哈勃 半导体2026-10-04
每日互动大数据发布:2021年二季度5G手机报告2026-09-30
我国电信运营商布局云计算“赛道”,面临三大挑战2026-08-14
标签: 爱芯元智 边缘AI产品 智能汽车SoC 终端计算产品2026-11-08
开发人员如何理解kubernetes2026-09-12