gpt4 book ai didi

docker - 在Docker Swarm主机网络中发布端口

转载 作者:行者123 更新时间:2023-12-02 21:12:26 25 4
gpt4 key购买 nike

我使用docker-18.03.1-ce创建了一个docker swarm集群。

部署kafka容器时,我在stack.yml中看到如下代码:

  kafka:
image: wurstmeister/kafka:2.11-2.0.0
ports:
- target: 9094
published: 9094
protocol: tcp
mode: host

但是在Docker的网络体系结构文章( https://success.docker.com/article/networking)中,它说:“使用主机驱动程序,Docker不会管理容器网络堆栈的任何部分,例如端口映射或路由规则。这意味着-p和--icc之类的通用网络标志对于主机驱动程序没有意义。他们被忽略了。

我很困惑,发布的端口是否会在Swarm主机网络中生效?

有人知道吗?

最佳答案

我可以从Docker的网络架构文章(https://success.docker.com/article/networking)中找到答案:

主机模式端口发布仅在运行特定服务任务的主机上公开端口。端口直接映射到该主机上的容器。给定服务的单个任务只能在每个主机上运行,​​以防止端口冲突。

$ docker service create --replicas 2 --publish mode=host,target=80,published=8080 nginx

主机模式需要mode = host标志。它在运行这两个容器的主机上本地发布端口8080。它不应用负载平衡,因此流向那些节点的流量仅定向到本地容器。如果没有足够数量的副本副本可用端口,则可能导致端口冲突。

关于docker - 在Docker Swarm主机网络中发布端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53735723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com