将docker命令作为Jenkins中的构建步骤运行

时间:2016-01-28 18:36:54

标签: jenkins docker

我在Jenkins中运行一些docker命令作为post构建步骤,但它失败了。我的工作是在从属节点上运行,当我转到从属主机并直接执行docker命令时,一切正常。就像一个简单的测试一样,我使用以下作为构建后的步骤:

docker ps

控制台中的输出是:

  • docker ps 无法连接到Docker守护程序。 docker守护程序是否在此主机上运行? 构建步骤'执行shell'将构建标记为失败

此计算机上唯一的用户是正在构建的用户,并且它已设置为docker组。构建本身的环境可能有什么不同,当我进入可能导致此问题的节点主机时?

感谢。

3 个答案:

答案 0 :(得分:2)

答案是詹金斯的奴隶进程是长期运行的,并没有为每项工作进行调整。我必须重新启动从属节点才能使添加到jenkins用户的docker组生效。案例结束:D

答案 1 :(得分:0)

您确定他们都使用同一个用户吗? 您可能必须将运行的用户jenkins添加到docker组。

答案 2 :(得分:0)

如果一切安排得好,Jenkins可以运行Docker。用户配置可以完成,Jenkins用户可以运行docker,但是 仍在使用Cannot connect to the Docker daemon. Is the docker daemon running on this host?

我只需要在构建

中执行以下操作

+ id uid=987(jenkins) gid=982(jenkins) groups=982(jenkins)

查看与bash用户的区别
-bash-4.2$ id uid=987(jenkins) gid=982(jenkins) groups=982(jenkins),981(docker)

看到码头工人丢失了。只需重新启动Jenkins !!