本地docker注册证书docker login连接到harbor仓库、利用shell脚本批量将镜像pull、tag、push到私有harbor仓库

news2024/11/28 8:49:39

1. 本地docker注册证书docker login连接到harbor仓库:

我们使用docker login/push/pull去与Harbor打交道,上传下载镜像等。 但是可能会出现x509: certificate signed by unknown authority之类的错误。

[root@test01 harbor.dev]# docker login harbor.dev
Authenticating with existing credentials…
Login did not succeed, error: Error response from daemon: Get https://harbor.dev/v2/: x509: certificate signed by unknown authority
Username (admin): admin
Password:
Error response from daemon: Get https://harbor.dev/v2/: x509: certificate signed by unknown authority

此时根据docker官方https://docs.docker.com/engine/security/certificates/,客户端要使用tls与Harbor通信,使用的还是自签证书,那么必须建立一个目录:/etc/docker/certs.d,在这个目录下建立签名的域名的目录, 那么整个目录为: /etc/docker/certs.d/xxxx(harbor域名), 然后把harbor的证书ca.crt等拷贝到这个目录即可。
在这里插入图片描述

2.使用shell脚本将大量镜像pull、tag、push到私有harbor仓库

#!/bin/bash

while IFS= read -r line; do
  image_name=$(echo "$line" | awk '{print $1}')

  new_name=$(echo "$line" | awk '{print $2}' | tr -d '\r')

  docker pull "$image_name"
  docker tag "$image_name" "$new_name"
  docker push "$new_name"

  echo "Pulled, tagged, and pushed $image_name as $new_name"
done < images.txt

如上所示,我们首先需要准备一个images.txt里面包括了所有下载镜像名及上传名,如下所示,每行包括image_name与new_name,其中用空格隔开

istio/proxyv2:1.14.1 harbor.dev/cube_studio/istio_proxyv2:1.14.1
istio/pilot:1.14.1 harbor.dev/cube_studio/pilot:1.14.1
mysql:5.7 harbor.dev/cube_studio/

当然,以上脚本的关键在于image_name与new_name的获取,若new_name可根据image_name修改得到,也可以更改脚本得到适合自己的new_name,以下可供参考。

  #images.txt每行只有image_name,tr -d '\r'去掉换行符
  image_name=$(echo "$line" | awk '{print $1}' | tr -d '\r')
  
  #在image_name前加上harbor.dev/hub/
  new_name="harbor.dev/hub/$image_name"
  
  #image_name中的ccr.ccs.tencentyun.com/hub替换为harbor.dev/hub
  new_name=$(echo "$image_name" | sed 's/ccr.ccs.tencentyun.com\/hub/harbor.dev\/hub/g')
  
将Excel表格中的数据粘贴到记事本中,且每列间距都为一个空格

可在EXECL中将你需要的所有数据先合并成一列再导出。

  • 假定你原数据有AB两列,在C1单元格输入公式:=A1&" "&B1,将公式用填充柄向下复制,之后将C列粘贴到txt文档即每列间距都为一个空格

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1028532.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux和windows选哪个?

linux和windows选哪个&#xff1f; 每年在大学中都会有这么一批学生&#xff1a; 沉浸在安装Linux系统&#xff0c;安装双系统&#xff0c;使用Linux系统看看电影&#xff0c;搞一搞炫酷的桌面效果。 最后收获了啥&#xff1f; 怕是啥也没有&#xff0c;命令学会了几个&…

免费的AI写作软件-智能AI写作工具

我们要谈的话题是AI写作&#xff0c;尤其是免费AI写作&#xff0c;以及147SEOAI写作免费工具。您是否曾经为了创作文章而感到煞费苦心&#xff1f;是否一直在寻找一种能够轻松生成高质量文章的方法&#xff1f; 147GPT批量文章生成工具​www.147seo.com/post/2801.html​编辑ht…

C++运算符优先级一览表

VC常用功能开发汇总&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更新...&#xff09;https://blog.csdn.net/chenlycly/article/details/124272585C软件异常排查从入门到精通系列教程&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更新...&a…

CDH集群初始化oozie失败表结构不存在

文章目录 1. 背景2. 初始化数据库2.1 生成表结构2.2 初始化数据库 3. CDH管理页面始化 oozie 服务 1. 背景 安装CDH 6.3.2 版本时初始化集群服务过程中出现oozie server启动失败的情况&#xff0c;第一次创建集群成功&#xff0c;第二次失败了&#xff0c;分析日志信息 SERVER…

基于51单片机多路DTH11温湿度检测控制系统

一、系统方案 1、本设计采用51单片机作为主控器。 2、DHT11采集温度度&#xff0c;支持3路温度度&#xff0c;液晶1602显示。 3、按键设置报警阀值。 4、系统声光报警。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化 //初始化LCD*********…

无涯教程-JavaScript - SIGN函数

描述 SIGN功能确定数字的符号。该函数返回- 如果数字为正,则为1 如果数字为0,则零(0) -1,如果数字为负 语法 SIGN (number)争论 Argument描述Required/OptionalNumberAny real number.Required Notes 如果指定的数字未被识别为数字值,则SIGN返回#VALUE!错误。 适用性 …

数据分析与可视化项目技术参考

&#x1f64c;秋名山码民的主页 &#x1f602;oi退役选手&#xff0c;Java、大数据、单片机、IoT均有所涉猎&#xff0c;热爱技术&#xff0c;技术无罪 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; 获取源码&#xff0c;添加WX 目录 1. 考核…

科技评估分类

声明 本文是学习GB-T 42776-2023 科技评估分类. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本文件确立了科技评估的分类原则&#xff0c;描述了分类方法&#xff0c;规定了编码方法、分类与代码。 本文件适用于科技评估的规划、设计、委…

不相同的字符串(挑战字符串中的算法)

此题不容易考虑全部情况&#xff0c;对于未出现字母不够的情况&#xff0c;需要自己模拟假设一下&#xff0c;才会发现处理方法的玄妙 // 分析题目不难发现,这道题其实和字符具体长啥样没关系 // 只和字母的个数有关系,所以我们只需统计字母的个数 // 总体思路分两个情况 // …

【C语言】联合union

类似于struct结构的写法&#xff0c;但是不同的是struct内部的变量都是独立的&#xff0c;但是union的所有成员共享一个空间同一时间只有一个成员是有成效的union的大小是其最大的成员 sizeof(union ...) sizeof(每个成员的最大值)初始化时对第一个成员初始化 union Anelt {i…

SpringMvc参数获取

目录 一、封装为简单数据类型 二、封装为单个对象 &#xff08;1&#xff09;实体类 &#xff08;2&#xff09;控制层 三、封装为关联对象 &#xff08;1&#xff09;实体类 &#xff08;2&#xff09;控制层 &#xff08;3&#xff09;使用表单发送带有参数的请求 四…

8位单片机的优势:永不过时的选择

被广泛应用于各种智能化设备中&#xff0c;8位单片机以其独特的优势&#xff0c;成为了许多应用场景的首选。为什么它们在今天仍然具有重要的应用价值&#xff1f; 一、8位单片机的优势&#xff1a; &#xff08;1&#xff09;成本效益 8位单片机由于其制造成本相对较低&…

如何排版一篇优秀的公众号文章呢?

在这个信息爆炸的时代&#xff0c;微信公众号已经成为人们获取信息的重要渠道之一。然而&#xff0c;如何排版一篇优秀的公众号文章却一直困扰着许多新手和老手。 无论是在校社团新媒体小白&#xff0c;还是新媒体工作者&#xff0c;相信大家对排版界面都不会陌生&#xff0c;…

英国8月CPI意外降温,然而加息决定仍悬而未决

KlipC报道&#xff1a;据英国国家统计局公布最新数据显示&#xff0c;8月CPI同比上涨6.7%&#xff0c;低于上月数据&#xff0c;核心CPI增幅低于经济学家的预测。数据公布后&#xff0c;英镑走弱、英债收益率下跌&#xff0c;英镑应声下跌0.5%至5月以来的最弱水平&#xff0c;两…

Rust : 与C多种交互尝试

rust调用C端的库函数&#xff0c;有很多方法&#xff0c;场景也有所不同。包括windows还是linux&#xff0c;内置库还是自定义库&#xff0c;还是三方库等等。 一、rust调用其内置的C库 这个很简单&#xff0c;直接把extern "C"引入即可&#xff1a; 比如&#xff0…

dvwa靶场通关(十二)

第十二关&#xff1a;Stored Cross Site Scripting (XSS)&#xff08;存储型xss&#xff09; low 这一关没有任何防护&#xff0c;直接输入弹窗代码 弹窗成功 medium 先试试上面的代码看看&#xff0c;有没有什么防护 发现我们的script标签不见了&#xff0c;应该是被过滤掉…

CentOS7下制作OpenSSH 9.4p1 RPM包,并验证升级

1、准备条件 1&#xff09;openssh-8.4p1.tar.gz源码包 https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.4p1.tar.gz wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.4p1.tar.gz --no-check-certificate 2&#xff09;x11-ssh-askp…

Django实现音乐网站 ⒅

使用Python Django框架做一个音乐网站&#xff0c; 本篇主要为歌单列表、歌单详情及推荐页-歌单内容改动。 目录 歌单列表 设置路由 视图处理 模板渲染 歌单-单曲列表 设置路由 视图处理 模板渲染 推荐页-歌单列表 模板渲染修改 总结 歌单列表 可通过导航>歌单或…

如何批量将长视频分割成短视频?详细操作步骤一目了然

如果你需要将一个长视频分割成多个短视频&#xff0c;你可以使用固乔智剪软件来实现这一目标。以下是详细步骤&#xff1a; 1. 在浏览器中搜索并下载"固乔智剪软件"。这个软件是专门用于视频剪辑和处理的&#xff0c;它提供了许多实用的功能。 2. 进入软件主页&#…

外贸独立站哪家好?推荐的独立站建站平台?

如何选外贸独立站搭建系统&#xff1f;创建贸易网站的工具有哪些&#xff1f; 在如今全球贸易不断蓬勃发展的背景下&#xff0c;外贸独立站成为许多企业拓展国际市场的首选之一。然而&#xff0c;要想在竞争激烈的市场中脱颖而出&#xff0c;选择一家合适的外贸独立站服务提供…