每次服务器重启,在docker中运行的jenkins中使用docker时遇到以下错误
failed to dial gRPC: cannot connect to the Docker daemon. Is 'docker daemon' running on this host?: dial unix /var/run/docker.sock: connect: permission denied
这是因为服务器重启后 docker.sock 文件重新生成,其权限也回到初始化状态,在docker容器中并没有该文件的访问权限。只需要在宿主服务器中执行以下命令即可
chmod 777 /var/run/docker.sock
附: 在docker中运行 jenkins 命令
docker run -p 8080:8080 -p 50000:50000 -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/bin/docker -v /var/docker/jekins:/var/jenkins_home -v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 -d --restart=always --name jenkins jenkins/jenkins