有没有我们可以运行并找出“Docker Host URI”的命令?我发现了一些相关的问题,但没有完全理解。
5 回答
将 jenkins 作为容器运行时的 Jenkins Docker 插件配置
1)首先安装Docker插件
2) 转到管理 Jenkins -> 系统配置 -> 向下滚动到底部 -> 添加云 -> Docker
3) 如果您将 jenkins 作为容器运行,则在 docker host uri 字段中,您必须输入 docker 主机的 unix 或 tcp 地址。但是由于您将 jenkins 作为容器运行,因此容器无法到达 docker host unix 端口
4)所以我们必须运行另一个可以在 docker host 和 jenkins 容器之间进行调解的容器。它将公开 docker 主机的 unix 端口作为其 tcp 端口。按照说明创建 socat 容器https://hub.docker.com/r/alpine/socat/
5)创建socat容器后,可以回到jenkins中的docker配置,输入tcp://socat-container-ip:2375
6)测试连接现在应该成功
另一种选择是输入 Docker Host URI "unix: ///var/run/docker.sock",它对我有用,我希望它也是。
是的,这是 docker 主机 uri
tcp://127.0.0.1:2375
但在此之前,您需要添加此 DOCKER_OPTS="-H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock"
在/etc/default/docker
文件末尾,然后重新启动 docker.onec 重新启动 docker.sock 将在 2375 中运行并在 Jenkins 中添加此 tcp://127.0.0.1:2375
如果您的 docker 在同一主机上运行,您在容器中使用 Jenkins,则可以使用unix:///var/run/docker.sock作为“Docker 主机 URI”,但您必须检查并获取 jenkins 用户的权限通过使用:
sudo groupadd docker
sudo usermod -aG docker $USER
sudo chmod a+rwx /var/run/docker.sock
sudo chmod a+rwx /var/run/docker.pid
如果您在 OS X 中,HOST URL 是:
unix:///var/run/docker.sock