首页 > 其他分享 >Jenkins 构建的时候提示 DOCKER_HOST 错误

Jenkins 构建的时候提示 DOCKER_HOST 错误

时间:2022-11-03 19:14:11浏览次数:74  
标签:sudo jenkins HOST ERROR Jenkins docker DOCKER Docker

我们在使用 Jenkins 构建我们的一个 Docker 项目的时候提示:

[ERROR] Failed to execute goal io.fabric8:docker-maven-plugin:0.40.2:build (default) on project api: Execution default of goal io.fabric8:docker-maven-plugin:0.40.2:build failed: No <dockerHost> given, no DOCKER_HOST environment variable, no read/writable '/var/run/docker.sock' or '//./pipe/docker_engine' and no external provider like Docker machine configured -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:

 

Snag_6ae1d2f

 

通过日志我们了解到上面的问题就是 Jenkins 没有办法调用 Docker 的构建命令。

问题和解决

我们尝试了很多种方法来解决这个问题。

包括有重新安装 Docker,重新写脚本等等,都发现没有办法解决。

然后我们在下载的 Git 代码中直接使用 Root 账号进行编译,发现是没有问题的。

这个就让我想到,有没有可能是因为 Jenkins 的用户没有访问 Docker 的权限

因为 Jenkins 的编译是在 Jenkins 自己这个账号下运行的的。

随后我们运行了下面 2 个命令。

sudo gpasswd -a jenkins docker

sudo usermod -a -G docker jenkins

上面命令运行后的输出如下:

[root@devops-norctx-com Usvisatrack-Api-Service]# sudo gpasswd -a jenkins docker
Adding user jenkins to group docker
[root@devops-norctx-com Usvisatrack-Api-Service]# sudo usermod -a -G docker jenkins

简单来说,上面 2 个命令执行的结果就是吧 Jenkins 这个用户加到 Docker 这个用户组里面。

在完成上面的配置后,重启 Jenkins。

然后再进行编译,我们发现提示没有办法执行 Docker 打包的问题就解决了。

 

https://www.ossez.com/t/jenkins-docker-host/14191

标签:sudo,jenkins,HOST,ERROR,Jenkins,docker,DOCKER,Docker
From: https://www.cnblogs.com/huyuchengus/p/16855522.html

相关文章

  • Docker Desktop笔记3(VS Code-dev-containers)
    1、VSCode创建开发容器指定基础镜像:(README:​​vscode-dev-containers/containers/python-3atv0.202.3·microsoft/vscode-dev-containers·GitHub​​)FROMmcr.micro......
  • Jenkins 线上技术交流
    在Jenkins中文社区微信技术交流群里,看到有人提出各种各样的问题,有一些问题快速得到了解答,有一些则可能由于各种原因没有收到回答。大家都能看出来,在各种群里交流有很多的......
  • 使用docker搭建一个WordPress网站
     【整体说明】网站需要三个容器:WordPress、MariaDB、Nginx,他们的关系如下图。这是一个典型的网站,mariadb作为后方的关系型数据库,端口号是3306;wordpress是中间的应用服务......
  • Jenkins 如何配置流水线pipeline?
    1.新建任务--选择流水线风格     2.勾选不允许并发执行(根据需要,我需要它按顺序执行)    3.写流水线命令3.1勾选helloworld模板 4.查看流水线语......
  • 从0开始梳理django项目_1.始于docker
    基础准备看了篇文章,对比了一些构建django项目的docker环境,发觉自己以前了解的不够全面。这次尝试其中4个。不太记得构建dockerfile文件的书写了,后边还要升级到comp......
  • host文件
    定义:Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登......
  • Docker简介
    什么是Dokcer  Docker是一个开源的应用容器引擎,基于Go语言并遵循Apache2.0协议开源,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的L......
  • docker 配置
    docker配置1.镜像加速配置阿里云镜像加速地址:1.1进入管理控制台获取镜像加速器地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 找到私有的加速......
  • Docker命令
    直接输入docker命令来查看docker客户端的所有命令选项docker 查看命令具体使用dockercommand--helper 拉取镜像dockerpull镜像名 启动容器doker......
  • 二级域名以及 Docker 容器互相访问
    二级域名起因由于在一台服务器上部署了多个不同的应用/服务,之前是使用域名+端口号的方式来区分应用。但是这种方式在应用或服务多了以后,就不好使了,对于个人来说,需要记上......