docker - 在 VM 工作站 15 播放器中运行的 Docker Swarm 不接受工作人员连接
问题描述
我在带有 NAT 的 VM Workstation 15 播放器中运行 docker swarm 管理器(VM:Ubuntu 19.10,主机:Windows 10)。我docker swarm init --advertise-addr 223.181.240.48:2377
在我的经理 vm 上运行。现在我复制到令牌并在我的另一个虚拟机上使用它,该虚拟机在另一个节点和另一个带有 NAT 的网络上运行。它返回以下错误:
来自守护程序的错误响应:在节点加入之前已达到超时。加入 swarm 的尝试将在后台继续进行。使用“docker info”命令查看节点当前的 swarm 状态。
然后我尝试用谷歌搜索错误并知道问题可能是由于防火墙引起的,我可能必须取消阻止端口。另外,由于我使用的是 NAT,我必须使用自动桥接或端口转发。首先,我试过使用新娘(在 vm 设置中,我将网络更改为桥接),但是当我尝试“我的 ip”时,主机和 vm(223.181.240.48)的结果相同。所以,我尝试使用 NAT 进行端口转发,我去了到 C:/ProgramData/VMware/vmnetnat.conf 并添加以下行
[incomingtcp]
2377:192.168.172.2:2377
192.168.172.2 是我的虚拟机的网络网关地址。然后我再次运行 docker swarm 命令,复制到我的另一个虚拟机。现在,我收到以下错误:
来自守护进程的错误响应:rpc 错误:代码 = Unavailable desc = 所有 SubConns 都处于 TransientFailure,最新连接错误:连接错误:desc =“传输:拨号时出错 dial tcp 233.181.240.48:2377:连接:连接被拒绝”
然后我尝试了 sudo ufw allow 2377/tcp 来解锁 vm 中的端口。然后再次重试整个过程。现在我再次收到超时错误。我在中间错过了什么吗?还是做错了什么?我通过“我的 ip”谷歌搜索收到的 ip 和我在有线连接设置(dhcp on)中收到的 ipv4 有什么区别。
解决方案
推荐阅读
- subversion-edge - Subversion Edge 给出:无法解析名称为“grailsDispatcherServlet”的 servlet 中名称为“/error”的视图
- javascript - 虚拟键盘可用时如何在手机上显示输入消息框?
- nginx - Nginx 代理为 PWA 提供离线服务.html
- django - Django rest框架发布请求返回200但数据未保存在数据库中
- nix - 为什么尝试反射需要这么长时间?
- java - Android工作室获得admob广告
- node.js - 为什么我使用授权与 api get 403 in express?
- python - 将(IDW)空间数据插入栅格的最佳方法是什么?[R]
- javascript - 我无法截取我的背景 iframe
- powerbi - 显示哪些行在两个表之间改变了状态