Jenkins中执行docker命令报错

Cannot connect to the Docker daemon. Is the docker daemon running on this host?

  在配置Jenkins从Gitlab自动构建Dockerfile上传至Harbor时遇到了上述问题,jenkins中执行docker命令会有上述报错,查阅相关资料后发现解决办法如下:
一、修改Docker服务配置
systemctl stop docker
sudo gpasswd -a jenkins docker#将jenkins用户加入docker组
vim /usr/lib/systemd/system/docker.service

#ExecStart=/usr/bin/dockerd-current \
#          --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
#          --default-runtime=docker-runc \
#          --exec-opt native.cgroupdriver=systemd \
#          --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
#          $OPTIONS \
#          $DOCKER_STORAGE_OPTIONS \
#          $DOCKER_NETWORK_OPTIONS \
#          $ADD_REGISTRY \
#          $BLOCK_REGISTRY \
#          $INSECURE_REGISTRY\
#         $REGISTRIES
ExecStart=/usr/bin/docker daemon -H unix:// -H tcp://192.168.1.1:2375
#将以上注释的配置文件替换为下面新加的文件。

systemctl daemon-reload
systemctl restart docker
二、重启Jenkins服务,构建当前项目查看是否可以执行docker相关命令
systemctl restart jenkins
  如果遇到过滤Jenkins进程显示当前服务已经关闭,但是Jenkins仍无法启动的问题可以执行java -jar jenkins.war命令来看详细报错,比较奇葩的是我已经将jenkins进程关闭了,过滤服务以及端口都已经显示关闭了,但是启动jenkins服务时还是会报地址被占用的错误,此时再重新执行systemctl stop jenkins命令,然后对jenkins服务进行启动,看看是否可以解决。

posted @ 2017-12-28 17:55  Federico  阅读(2791)  评论(0编辑  收藏  举报