Cannot connect to the Docker daemon at tcp://xxx.xx.x.x:2376. Is the docker daemon running?

一.问题描述

   在用docker部署jenkins实现自动化部署服务时,报错:

二.问题分析:

   经前辈讲解得知,需要在Jenkins里面运行docker,而docker分为客户端和服务端,普通的docker命令由客户端操作,但客户端需要连接到服务端,而此时Jenkins是一个单独的容器,可以看做一个单独的系统,它不知道docker是谁,所以需要把docker映射进去了,但是我们映射的只是客户端,所以需要指定它连接到宿主机的服务端。在jenkins配置的docker也是客户端。

三.问题解决:

  在运行jenkins时,挂载所需的环境,在用docker-compose运行时,可以直接在docker-compose.yml添加相应的映射环境

 environment:
    DOCKER_HOST: tcp://xx.xx.xx.xx:2376

然后在储存驱动修改映射


{
  "hosts": [
        "tcp://xx.xx.xx.xx:2376",
        "unix:///var/run/docker.sock"
    ]
}

挂载相应文件目录

需要注意的是,上述映射的ip是jenkins所在的ip,因为jenkins是用户

发布了193 篇原创文章 · 获赞 30 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/yiye2017zhangmu/article/details/94557216