[Docker]记一次使用jenkins将镜像文件推送到Harbor遇到的问题

news/2024/2/28 11:49:45

系统版本: 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、将/root/.docker/config.json 拷贝到 /var/lib/jenkins/.docker/下
3、修改文件夹权限 chown -R jenkins.jenkins .docker (在/var/lib/jenkins目录下执行)

包括再jenkins中使用k8s命令,也需要配置jenkins访问k8s的权限凭证
步骤一样
将/root/.kube/config 拷贝到 /var/lib/jenkins/.kube/下
修改文件夹权限 chown -R jenkins.jenkins .kube (在/var/lib/jenkins目录下执行)


http://www.ppmy.cn/news/1225708.html

相关文章

常见的数据结构有哪些?

数据结构分为逻辑结构和物理结构。 逻辑结构:指数据元素之间逻辑关系的数据结构,这里的逻辑关系是指数据元素之间的前后间关系,与数据在计算机中的存储位置无关。物理结构:指数据的逻辑结构在计算机存储空间中的存放形式称为数据…

第六章SELinux

1.概述 1.1.概念 SELinux(Security-Enhanced Linux)是美国国家安全局在 Linux 开源社区的帮助下开发的-个强制访问控制(MAC,Mandatory Access Control)的安全子系统,用于各个服务进程都受到约束,使其仅获取到本应获取的资源 例如&am…

『 MySQL数据库 』数据库之表的约束

文章目录 前言 💻空属性约束(非空约束) 🔖default约束(默认值约束,缺省) 🔖列描述comment 🔖数字类型长度zerofill 🔖主键primary key 🔖📍 追加主键 📍📍 删除主键 &…

Nginx负载均衡机制及常见问题

介绍 Nginx是目前主流的WEB服务器发布软件,不仅可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动静分离,可以按照轮询、ip_hash、URL哈希、权重等多种方式对后端服务器做负载均衡&#…

Unity 6 是下一个 LTS 版本即将发布

Unity 公司宣布,即将发布 Unity 6,并表示其为下一个长期支持版本 (LTS)。 Unity 在大会上演示了全新的 Unity 6引擎,并通过 Syncy Studios 采用 Unity 6 制作的《幻想王国(Fantasy Kingdom)》Demo 进行了演示&#xff…

中国净初级生产力年度合成产品NPP(MYD17A3H.006)

中国净初级生产力年度合成产品NPP(MYD17A3H.006)由航天宏图实验室提供,根据NASA MODIS数据(MYD17A3H.006)通过航天宏图 Smoother计算得到的平滑后NPP产品,解决了影像云雾覆盖、像元异常值等问题。对处理后的…

微服务测试怎么做

开发团队越来越多地选择微服务架构而不是单体结构,以提高应用程序的敏捷性、可扩展性和可维护性。随着决定切换到模块化软件架构——其中每个服务都是一个独立的单元,具有自己的逻辑和数据库,通过 API 与其他单元通信——需要新的测试策略和新…

[Linux版本Debian系统]安装cuda 和对应的cudnn以cuda 12.0为例

写在前面 先检查自己有没有安装使用wget的命令,没有的话输入下面命令安装: apt-get install wget -y查看gcc的安装 sudo apt install gcc #安装gcc gcc --version #查看gcc是否安装成功 #若上述命令不成功使用下面的命令尝试之后再执行上面…

【Python数学练习1】

一、题目 中文描述&#xff1a; 给出正整数N&#xff0c;输出满足条件的数对(a,b)的个数&#xff0c;满足gcd(a,b)b, a,b < n 数学描述&#xff1a; 二、解法 解法1&#xff1a; 对应Python代码&#xff1a; def num_fact(n):num 0for i in range(1, n 1):if n % i …

springcloud新闻发布系统源码

开发技术&#xff1a; jdk1.8&#xff0c;mysql5.7&#xff0c;nodejs&#xff0c;idea&#xff0c;vscode springcloud springboot mybatis vue elementui 功能介绍&#xff1a; 用户端&#xff1a; 登录注册 首页显示搜索新闻&#xff0c;新闻分类&#xff0c;新闻列表…

mongodb使用简单文档

1、mongodb安装与卸载 1.1、安装 python -m pip install pymongo 或 pip install pymongo如果要安装指定版本&#xff1a; python -m pip install pymongo3.5.1对已有的版本进行升级&#xff1a; python -m pip install --upgrade pymongo1.2、卸载 pip uninstall pymongo…

Uniapp小程序MBG 开发踩坑日记

最近开发一套微信音乐小程序框架使用vue3&#xff0c;但还是要吐槽一下&#xff0c;有时候会突然报错&#xff0c;怎么也调试不好&#xff0c;过段时间自己又好了&#xff0c;这让开发者体验极差。下面说下遇到的一些问题 Extraneous non-emits event listeners (close) were …

【面试】测试/测开(未完成版)

1. 黑盒测试方法 黑盒测试&#xff1a;关注的是软件功能的实现&#xff0c;关注功能实现是否满足需求&#xff0c;测试对象是基于需求规格说明书。 1&#xff09;等价类&#xff1a;有效等价类、无效等价类 2&#xff09;边界值 3&#xff09;因果图&#xff1a;不同的原因对应…

三电阻采样方案中的分扇区采样原理

参考链接&#xff1a;三电阻采样方案中的分扇区采样原理 - 知乎

【迅搜01】安装运行并测试XunSearch

安装运行并测试XunSearch 这回的新系列&#xff0c;我们将学习到的是一个搜索引擎 迅搜 XunSearch 的使用。这个搜索引擎在 PHP 圈可能还是有一点名气的&#xff0c;而且也是一直在更新的&#xff0c;虽说现在 ElasticSearch 已经是实际上的搜索引擎霸主了&#xff0c;而且还有…

什么是Java伪随机数,基础打牢。 #程序员 #Java #编程

你一定听说过这样一个词&#xff0c;伪随机数&#xff0c;你有没有这样的疑惑&#xff0c;为什么不用真随机&#xff0c;要用的个假的&#xff1f; 先说一个结论&#xff1a; Java Random英/ˈrndəm/ 随机数生成不安全&#xff0c;如果同时泄漏第一个和第二个随机数&#xf…

C语言——冒泡排序

一、冒泡排序是什么 冒泡排序&#xff1a; 冒泡排序(Bubble Sort)&#xff0c;又被称为气泡排序或泡沫排序。升序时&#xff1a;它会遍历若干次需要排序的数列&#xff0c;每次遍历时&#xff0c;它都会从前往后依次的比较相邻两个数的大小&#xff1b;如果前者比后者大&#x…

linux环境下启动应用的不同方式对比分析

大家好&#xff0c;我是G探险者。 平时我们在Linux环境下启动Java应用程序时。可能会选择在前台或后台运行它们。但是这两者启动命令的各种参数含义是什么意思呢&#xff0c;今天我们就来聊聊&#xff0c;并分析一下他们的特点。 1. 前台启动 参数&#xff1a; java: Java程…

一款带数字传输信号的OVP芯片

基本概述 今天给大家介绍的一款芯片是OVP&#xff0c;相比于传统的OVP芯片来说&#xff0c;这款芯片新增了数字信号控制&#xff0c;可以进行10Mbps的一个通信&#xff0c;通过外部的GPIO口进行控制&#xff0c;达到输入与输出信号的产生。 YHM2009这款OVP芯片具有较低的导通…

Java重写和重载的区别,

Java中的重写&#xff08;Override&#xff09;和重载&#xff08;Overload&#xff09;都是面向对象编程的重要概念&#xff0c;它们的区别如下&#xff1a; 在定义上&#xff1a; 重载是在同一个类中定义多个方法&#xff0c;它们的方法名相同但参数不同。 重写是子类重新定义…
最新文章