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服务进行启动,看看是否可以解决。

上一篇:python(6)-执行shell命令


下一篇:EZ 2017 01 07 t