我们可以运行任何命令并查找“Docker Host URI”吗?我发现了一些相关的questions,但没有完全明白。
答案 0 :(得分:7)
是的,这是docker host 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
答案 1 :(得分:2)
另一种选择是输入Docker Host URI“ unix:///var/run/docker.sock”,它对我有用,我希望也是这样。
答案 2 :(得分:0)
将jenkins作为容器运行时,Jenkins Docker插件配置
1)首先安装Docker插件
2)转到管理Jenkins->系统配置->向下滚动到botton->添加云-> Docker
3)如果您将jenkins作为容器运行,则必须在docker host uri字段中输入docker host的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)测试连接现在应该成功
答案 3 :(得分:-1)
如果在同一主机上运行的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