一.问题描述
在用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是用户