我尝试从docker客户端连接到具有swarm版本1.12.1
的Manager:
$ docker -H tcp://MY_MANAGER_1_IP:2377 info
我收到以下错误消息:
Are you trying to connect to a TLS-enabled daemon without TLS?
任何人都有想法,提前谢谢你。
答案 0 :(得分:2)
1.12中的集成docker swarm是通过docker主机进行管理的,而不是像以前在独立swarm产品中那样通过swarm端口进行管理(如果你愿意,你仍然可以在1.12环境中安装)。像往常一样连接到泊坞主机,并通过docker swarm
,docker service
和docker node
命令对其进行管理。
您为集成群打开的端口不适用于docker API,它适用于群集管理器和工作人员之间的流量。要查看swarm上的信息,swarm管理器上的docker info
将包含一些详细信息,docker node
将提供管理员和工作人员的状态。请注意,这也意味着您无法使用docker -H ... run ...
命令将作业提交到集成群,您必须使用新的docker service
命令来管理新群中的容器。
要远程访问任何docker主机(可以让您从另一台机器运行API命令),请参阅docs on securing the Docker API这是启用TLS的过程,并设置守护程序以侦听外部流量而不是使用docker .sock socket。