Docker 是否可以定制swarm端口?如果是,如何做到这一点?

Docker 是否可以定制swarm端口?如果是,如何做到这一点?,docker,docker-swarm,Docker,Docker Swarm,根据docker文件: 以下端口必须可用。在某些系统上,默认情况下这些端口是打开的 用于群集管理通信的TCP端口2377 用于节点间通信的TCP和UDP端口7946 覆盖网络流量的UDP端口4789 因此,如果这3个默认端口在主机上不可用,如何自定义这些端口?以下选项在19.03(刚刚发布)中可用: 我不相信7946是可配置的 将其他节点加入群时,您有以下选项: $ docker swarm join --help Usage: docker swarm join [OPTIONS] HO

根据docker文件:

以下端口必须可用。在某些系统上,默认情况下这些端口是打开的

用于群集管理通信的TCP端口2377

用于节点间通信的TCP和UDP端口7946

覆盖网络流量的UDP端口4789


因此,如果这3个默认端口在主机上不可用,如何自定义这些端口?

以下选项在19.03(刚刚发布)中可用:

我不相信7946是可配置的


将其他节点加入群时,您有以下选项:

$ docker swarm join --help

Usage:  docker swarm join [OPTIONS] HOST:PORT

Join a swarm as a node and/or manager

Options:
      --advertise-addr string   Advertised address (format: <ip|interface>[:port])
      --availability string     Availability of the node ("active"|"pause"|"drain") (default "active")
      --data-path-addr string   Address or interface to use for data path traffic (format: <ip|interface>)
      --listen-addr node-addr   Listen address (format: <ip|interface>[:port]) (default 0.0.0.0:2377)
      --token string            Token for entry into the swarm
$docker swarm加入--帮助
用法:docker swarm加入[选项]主机:端口
作为节点和/或管理者加入群
选项:
--播发地址字符串播发地址(格式:[:端口])
--可用性字符串节点的可用性(“活动”|“暂停”|“排放”)(默认为“活动”)
--用于数据路径通信的数据路径地址字符串地址或接口(格式:)
--侦听地址节点addr侦听地址(格式:[:端口])(默认值为0.0.0.0:2377)
--令牌字符串用于进入swarm的令牌
它允许您调整侦听器地址/端口。我不知道data path port是否是整个swarm中的一个全局设置,该功能仅在一小时前发布,因此需要一些测试来了解其行为


根据您的评论:

我想知道码头工人社区是否会考虑制作7946个可配置的


Docker是开源的,因此您可以自由地向moby/moby、libnetwork和/或swarmkit提交PR。不确定哪种回购协议具体覆盖了这个实现细节。

仍然,我想知道DOCKER社区是否会考虑做7946个可配置的,因为在部署服务时没有端口是可用的,这个init可以用来配置群的第一个节点,如何定制将加入第一个节点成为集群的其他节点?
docker swarm init --listen-addr 0.0.0.0:3377 --data-path-port 5789
$ docker swarm join --help

Usage:  docker swarm join [OPTIONS] HOST:PORT

Join a swarm as a node and/or manager

Options:
      --advertise-addr string   Advertised address (format: <ip|interface>[:port])
      --availability string     Availability of the node ("active"|"pause"|"drain") (default "active")
      --data-path-addr string   Address or interface to use for data path traffic (format: <ip|interface>)
      --listen-addr node-addr   Listen address (format: <ip|interface>[:port]) (default 0.0.0.0:2377)
      --token string            Token for entry into the swarm