Jenkins容器无法执行docker命令

先看下问题,

进入Jenkins容器,执行Docker命令,无法执行,如下报错

 

背景

最近想用Gitlab+Jenkins实现持续部署:通过hook触发Jerkins执行Job:构建打包、部署,但是运行过程出现报错(如下图)

于是乎在容器里面尝试执行docker命令,出现了如标题问题。

 

如何解决

网上“jenkins容器无法执行docker命令”的解决方法,参考https://www.cnblogs.com/leolztang/p/6934694.html

创建容器的时候指定挂载目录:

volumes:
    - "/home/jenkins_home:/var/jenkins_home"
    - "/var/run/docker.sock:/var/run/docker.sock"
    - "/usr/bin/docker:/usr/bin/docker"
后面2个目录是为了:能让容器内的 jenkins 调用并操作容器外的 docker。

另一种解决思路:启动容器时宿主机的挂载目录,在宿主机的挂载目录下存放Docker命令脚本,通过执行挂载目录的脚本,来达到脱离容器~在宿主机执行docker命令的目的。

(以上是一种思路,毕竟解决根本问题才是重点,推荐大家可以试一下~~)

posted @ 2020-04-02 16:12  咕噜噜的肥猫  阅读(3543)  评论(1编辑  收藏  举报