当前位置:
首页 >
[Docker]记一次使用jenkins将镜像文件推送到Harbor遇到的问题
发布时间:2023/12/9
71
豆豆
生活随笔
收集整理的这篇文章主要介绍了
[Docker]记一次使用jenkins将镜像文件推送到Harbor遇到的问题
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
系统版本: Ubuntu 18.01
私服: Harbor
Docker版本: Docker version 18.09.5
首先需要明确的是,即在harbor里项目设置为公开,但是在push的时候还是需要用户验证的,即需要使用docker登录
docker login harbor.zyg.com(私服的地址),输入用户名和密码后即会在当前用户的/home/用户名/.docker/下生成一个config.json文件
但这只是当前用户能够使用的,每一次在使用docker pull/push时都会使用这个文件
问题一、 避免一般用户在使用docker的时候使用sudo
1、创建docker用户组,一般在安装的时候会自动创建 2、添加用户到docker组sudo usermod -aG docker $USER问题二、 Jenkins执行shell脚本里的docker命令报权限不足
因为在执行shell系统使用的是jenkins伪用户,所以这时需要将jenkins加入docker用户组 sudo gpasswd -a jenkins docker sudo service jenkins restart (一定要重启)问题三、 Jenkins推送镜像报错denied: requested access to the resource is denied
The push refers to repository [harbor.zyg.com/microservices/zhaiugo-id-service] ead29f23f10c: Preparing c1d68427d6dd: Preparing c03339557420: Preparing b8fded14819b: Preparing 10975dc549b8: Preparing 1e11e2a062fc: Preparing a8eed0ba0657: Preparing 1e11e2a062fc: Waiting a8eed0ba0657: Waiting denied: requested access to the resource is denied [Pipeline] } [Pipeline] // stage [Pipeline] } [Pipeline] // withEnv [Pipeline] } [Pipeline] // node [Pipeline] End of Pipeline ERROR: script returned exit code 1 Finished: FAILURE 还是因为jenkins在推送镜像的时候使用的是jenkins的伪用户,那么既然要推送就要登录,将之前生成的config.json拷贝到jenkins的目录下即可 1、使用root登录后 2、将/home/用户名/.docker/目录拷贝到/var/lib/jenkins下 3、修改文件夹权限 chown -R jenkins.jenkins .docker
转载于:https://www.cnblogs.com/baylorqu/p/11019483.html
总结
以上是生活随笔为你收集整理的[Docker]记一次使用jenkins将镜像文件推送到Harbor遇到的问题的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: doip 源码_DoIP技术(二)
- 下一篇: jquery中的ajax方法(备忘)