我的编程空间,编程开发者的网络收藏夹
学习永远不晚

解决Jenkins集成docker插件问题的一些方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

解决Jenkins集成docker插件问题的一些方法

背景

测试环境使用Jenkins集成docker插件实现测试环境一键部署服务,首先jenkins已安装docker build and publish插件,但是运营job出现了一系列的问题!

问题一

docker执行报错,Build step 'Docker Build and Publish' marked build as failure,导致这句的问题有很多,更详细的错误信息:jenkins容器不支持docker操作?

分析问题:jenkins是使用docker部署的,那么在jenkins容器中并不会有docker相关的操作命令,所以执行失败!

解决方案:需要将宿主机的docker环境映射到jenkins容器中,才能使用docker命令行


docker run --name myjenkins -p 8123:8080 -p 50000:50000 -v /run/docker.sock:/var/run/docker.sock -v /var/jenkins_home:/var/jenkins_home -u 0 -d jenkins/jenkins:lts

再次执行,结果还是不对,没有解决!

错误二

提示bin目录下无可执行命令?

分析:我们知道安装的任何一个环境,如果想在linux环境执行它的命令行,都需要加入环境变量:/usr/bin

解决:继续映射宿主机docker可执行命令


docker run --name myjenkins -p 8123:8080 -p 50000:50000 -v /run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -v /var/jenkins_home:/var/jenkins_home -u 0 -d jenkins/jenkins:lts

tips:which命令,有点类似whereis 查找命令或者文件:前者查看系统环境变量中的命令(返回第一个结果),后者程序名相关路径(返回所有匹配的结果)

错误三

找不到相关依赖:error while loading shared libraries: libltdl.so.7: cannot open shared object file: No such file or/libltdl.so.7

分析:jenkins容器内部,因为容器与宿主机没有共享,在宿主机可以找到该库:cd usr/lib64/ 

解决:在宿主机找到libltdl.so.7 依赖库,挂载容器即可


docker run --name myjenkins -p 8123:8080 -p 50000:50000 -v /run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 -v /var/jenkins_home:/var/jenkins_home -v /var/data/shell:/var/data/shell -u 0 -d jenkins/jenkins:lts

错误四

no basic auth credentials 没有认证

分析原因:这个插件是在jenkins容器内部使用docker命令,build镜像不会报错,是在容器内,当需要push到镜像仓库时,需要auth

解决办法:直接的办法在jenkins的job中加入一行认证,docker login --username=xxxx --password=xxxx nexus.xxxx.com

tips:执行完命令,会在当前目录生成一个.credentials里面记录了登录nexus镜像仓库的帐号密码信息

总结

至此,前面的步骤已经完成了jenkins容器内部可以使用docker命令了,也就不需要通过shh插件,从容器跳出到宿主机执行build&push操作命令了,需要执行启动容器的脚本即可!

docker容器化,在宿主机与容器映射的任何东西都是同一个,也就是不管修改了宿主机挂载容器的文件还是容器中修改了挂载的宿主机文件都会同时被修改。

到此这篇关于解决Jenkins集成docker插件问题的一些方法的文章就介绍到这了,更多相关Jenkins集成docker插件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网! 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

解决Jenkins集成docker插件问题的一些方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

csv 文件读写乱码问题的一个简单解决方法

今天扼要总结一个处理csv文件乱码问题,可能你有类似经历,用excel打开一个csv文件,中文全部显示乱码。然后,手动用notepad++打开,修改编码为utf-8并保存后,再用excel打开显示正常。

springboot中生成文件路径的问题及解决方法是什么

这篇文章给大家介绍springboot中生成文件路径的问题及解决方法是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。springboot生成文件路径在进行 springboot 项目开发以及打包为 jar 包发布时
2023-06-29

微信支付仅能成功调用一次问题的解决方法(Android)

本人使用Android开发有一段时间了,但是本身没有系统学,而且多年专注服务端开发,总觉得因为项目需要接触Android移动端开发只是暂时的,所以没有太上心,结果碰到一个大难题折腾了一天,最后被有经验的小伙伴提示了一下才迎刃而解,感觉无地自
2022-06-06

screw Maven插件方式运行时在编译打包时跳过执行的问题解决方法

这篇文章主要介绍了screw Maven插件方式运行时在编译打包时跳过执行的问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-03-22

Android应用中使用Fragment组件的一些问题及解决方案总结

Fragment的主要意义就是提供与Activity绑定的生命周期回调。 Fragment不一定要向Activity的视图层级中添加View. 当某个模块需要获得Activity的生命周期回调的时候,就可以考虑通过Fragment来实现.
2022-06-06

win7系统中常见的一些小问题和解决方法简单整理

在使用电脑中难免会遇到一些小问题,而小问题如果你知道解决方法的话,那么基本上几分编程客栈钟就能解决了,而如果你不知道可以要想很久或者百度很久才能找到解决方法。 一、截图花屏 这个问题主要是由于显卡驱编程客栈动程序和你的显卡不是很配的情况下才
2023-06-01

pycharm中:OSError:[WinError 1455]页面文件太小无法完成操作问题的多种解决方法

这篇文章主要给大家介绍了关于pycharm中:OSError:[WinError 1455]页面文件太小无法完成操作问题的多种彻底解决方法,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
2023-02-17

Win8开机提示“你的电脑出现问题需要重启,我们只需要收集这些错误信息”的解决方法

解决方法:1、鼠标移动到左下角,然后点击右键,选择“命令提示符(管理员),然后输入以下命令:C:windowssystem32>netsh回车;2、然后输入winhttp回车;3、最后输入 import proxy source
2022-06-04

Android应用第一次安装成功点击“打开”后Home键切出应用后再点击桌面图标返回导致应用重启问题的解决方法

if((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0){ finish(); return; } 应用程序入口Activity的onCreate方
2022-06-06

编程热搜

目录