我的Docker Swarm中运行着一个Jenkins堆栈。我想使用Jenkins Docker Swarm插件允许我使用我的集群来启动奴隶,但是我无法弄清楚API URI部分。
它要求它采用http://ip:2376
格式,我可以看到我的Docker守护进程既作为套接字公开,也公开为tcp://ip:2376
,但似乎无法连接回主机。我正在使用Traefik作为反向代理,并且詹金斯位于代理网络中,因为它具有外部URL。
我需要向Traefik添加配置以允许容器与主机对话吗?
答案 0 :(得分:0)
您需要通过端口2376上的tcp公开docker守护进程,请尝试以下操作:
在群管理者节点上:
vi /etc/systemd/system/docker.service.d/override.conf
内容应为:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2376
然后重新启动docker守护程序。
当您现在执行docker info
后,您将收到如下消息:
警告:未经加密即可在http://0.0.0.0:2376上访问API。 ...
现在,您可以为jenkins提供以下网址: