集装箱Jenkins:在内部网络中建立与docker云的连接
我正在尝试将mac连接到运行Jenkins的raspberry,以启动docker在mac上按需构建奴隶。但我无法在Jenkins的docker云配置中建立连接 我的设置如下:集装箱Jenkins:在内部网络中建立与docker云的连接,docker,jenkins,docker-for-mac,Docker,Jenkins,Docker For Mac,我正在尝试将mac连接到运行Jenkins的raspberry,以启动docker在mac上按需构建奴隶。但我无法在Jenkins的docker云配置中建立连接 我的设置如下: 树莓皮在192.168.2.111:詹金斯在码头上奔跑 mac mini在192.168.2.220使用docker for mac:这应该通过Jenkins docker插件按需运行docker容器作为构建从属 从Jenkins到mac的SSH连接可以正常工作。mac代理已启动并正在运行 现在我想使用Jenkins
- 树莓皮在192.168.2.111:詹金斯在码头上奔跑
- mac mini在192.168.2.220使用docker for mac:这应该通过Jenkins docker插件按需运行docker容器作为构建从属
socat
以如下方式公开Unix套接字:
docker run -d -v /var/run/docker.sock:/var/run/docker.sock -p 127.0.0.1:2376:2375 alpine/socat TCP-LISTEN:2375,fork unix-connect:/var/run/docker.sock
容器正在运行:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
76a75c5249d7 alpine/socat "socat tcp-listen:23…" 19 seconds ago Up 17 seconds 127.0.0.1:2376->2375/tcp compassionate_feynman
然后在运行Jenkins容器的Raspberry pi上,我还添加了
DOCKER_OPTS="-H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock"
在文件/etc/default/docker
的末尾,如所述
然后在Jenkins云配置“docker”中,我将“docker主机URI”设置为tcp://127.0.0.1:2376
,并将Docker主机名(mac mini)设置为192.168.2.220
。测试此设置失败
我找到的所有教程似乎都有Jenkins在同一台主机上运行docker奴隶。我想这就是为什么在我的例子中,socat容器是不够的
有趣的是:
在mac上运行
curl 127.0.0.1:2376/version
(显示预期信息),但在raspberry上运行curl 192.168.2.220:2376/version
不起作用(连接被拒绝)。也许这可以帮助更多了解网络的人…机长反击
在mac上启动socat时,只需使用网络IP而不是本地主机
docker run -d -v /var/run/docker.sock:/var/run/docker.sock -p 192.168.2.220:2376:2375 alpine/socat TCP-LISTEN:2375,fork unix-connect:/var/run/docker.sock