我的Docker Swarm中运行着一个Jenkins堆栈。我想使用Jenkins Docker Swarm插件来允许我使用我的swarm来启动slaves,但是我不能弄清楚API URI部分。
它需要http://ip:2376的格式,我可以看到我的Docker守护进程被暴露为套接字,但也被暴露为tcp://ip:2376,但它似乎无法连接回主机。我使用Traefik作为反向代理,而jenkins位于代理网络中,因为它有一个外部URL。
是否需要向Traefik添加配置才能允许容器与主机通信?
发布于 2019-08-06 20:55:31
您需要在端口2376上通过tcp公开docker守护程序,请尝试以下操作:
在swarm manger节点上:
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上无需加密即可访问接口。..。
现在,您可以为jenkins提供以下URL:
http://your.docker.manager.ip:2376
https://stackoverflow.com/questions/53412064
复制相似问题