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

news2025/1/23 17:38:53

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/1006871.html

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

相关文章

Nacos server 2.2.3 功能参数配置

1、Nacos server下载 登录网址Releases alibaba/nacos GitHub&#xff0c;进入下载页面&#xff0c;显示如下&#xff1a; 选择“nacos-server-2.2.3.zip”版本 解压缩&#xff0c;目录文件如下图所示&#xff1a; 配置文件位于“conf”目录下&#xff0c;名称为“applicat…

天津DV证书和OV证书的区别

SSL数字证书是一种安全协议&#xff0c;用于在网络传输过程中保护敏感信息&#xff0c;如信用卡号、用户名、密码等。它通过使用公钥和私钥来进行加密和解密&#xff0c;确保数据传输的机密性和完整性。 SSL数字证书的主要作用是在客户端和服务器之间建立安全的连接&#xff0c…

HarmonyOS/OpenHarmony应用开发-DevEco Studio帮助快速入门的使用

DevEco Studio内置有帮助中心&#xff0c;初学HarmonyOS 及OpenHarmony应用、元服务的开发者&#xff0c;通过内置的帮助中去系统的学习相关内容&#xff0c;是边练边学&#xff0c;快速上手的最佳方式。 一、帮助 二、快速开始 三、HarmonyOS应用、元服务开发相关 四、OpenHa…

Idea汉化

下载IDEA官方插件包https://plugins.jetbrains.com/ 输入关键子"chinese"查询汉化包 本地安装

银河麒麟arm服务器设置网卡开机自启

桌面右键打开系统终端 查看网络信息 输入命令&#xff1a; ip a 比如我们要设置eno3网卡 切换到指定目录 输入命令 cd /etc/sysconfig/network-scripts 查看该目录下的文件 输入命令ls 编辑指定网卡信息 vi *eno3 设置onboot项的值为yes &#xff0c;重庆服务器即可 …

Flutter框架和原理剖析

Flutter是Google推出并开源的跨平台开发框架&#xff0c;主打跨平台、高保真、高性能。开发者可以通过Dart语言开发Flutter应用&#xff0c;一套代码同时运行在ios和Android平台。不仅如此&#xff0c;flutter还支持web、桌面、嵌入应用的开发。flutter提供了丰富的组件、接口&…

【论文阅读】 智能合约安全漏洞检测技术研究综述

一、SC安全漏洞事件 2016 年 6 月,黑客利用 DAO(decentralized autonomous organization)合约的可重入漏洞, 窃取了价值约 6000 万美元的以太币(即以太坊数字货币); 2017 年 7 月, 由于 Parity 多签名钱包合约的 Delegatecall 漏洞(parity multi-sig wallet delegatecall&#…

Gogs国内大佬开发的git私有服务

Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。 gogs官网&#xff1a;https://gogs.io/ github地址&#xff1a;https://github.com/gogs/gogs/tree/main/docker docker安装gogs服务 docker pull gogs/gogs 启动gogs容器 docker run --namegogs -…

[NLP] LLM---训练一个中文LLama2的步骤

一 数据集 【Awesome-Chinese-LLM中文数据集】 【awesome-instruction-dataset】【awesome-instruction-datasets】【LLaMA-Efficient-Tuning-数据集】Wiki中文百科&#xff08;25w词条&#xff09;wikipedia-cn-20230720-filteredBaiduBaiKe&#xff08;563w词条&#xff09; …

气传导耳机品牌排行榜前十名,性能出色的气传导耳机分享

​气传导耳机在运动、户外、办公等场景中具有独特的优势。然而&#xff0c;面对市场上琳琅满目的气传导耳机产品&#xff0c;很多用户不知如何下手。接下来&#xff0c;我将推荐市面上热销火爆&#xff0c;并性能出色、性价比高的气传导耳机给大家&#xff0c;希望大家都能选到…

Kubernetes configmap + Secret

secret 参考文档&#xff1a;使用 Secret 安全地分发凭证 | Kubernetes 使用 Secret 安全地分发凭证 创建 Secret&#xff1a; &#xff08;secret.yaml&#xff09; apiVersion: v1 kind: Secret metadata:name: test-secret data:username: bXktYXBwpassword: Mzk1MjgkdmR…

Linux Day13 ---信号量

一、信号量 1.1 一些概念 用来管理对资源的访问 一个特殊的变量&#xff0c;只允许对它进行等待(wait)和发送信号(signal),代表可用资源个数&#xff0c; 取0,1 二值信号量 取 3,5 计数信号量 p操作&#xff1a;原子减一&#xff0c;代表获取资源&#xff0c;可能阻塞 v…

【共建开源】手把手教你贡献一个 SeaTunnel PR,超级详细教程!

Apache SeaTunnel是一个非常易于使用的、超高性能的分布式数据集成平台&#xff0c;支持海量数据的实时同步。每天可稳定高效同步数百亿数据&#xff0c;已被近百家企业投入生产使用。 现在的版本不支持通过jtds的方式链接sqlserver&#xff0c;我们来自己写代码来实现它&…

Spark 框架概述

目录 一、Spark 是什么 1.1 统一分析引擎&#xff1f; 二、Spark 风雨十年 ​三、Spark VS Hadoop(MapReduce) 3.1 面试题&#xff1a;Hadoop 的基于进程的计算和 Spark 基于线程方式优缺点&#xff1f; 四、Spark 四大特点 ​4.1 速度快 4.2 易于使用 4.3 通用性…

使用jib-maven-plugin插件构建镜像并推送至私服Harbor

jib-maven-plugin 插件配置 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apa…

19-springcloud(下)

一 分布式配置中心 1 Spring Cloud Config 分布式系统面临问题 在分布式系统中&#xff0c;由于服务数量巨多&#xff0c;为了方便服务配置文件统一管理&#xff0c;实时更新&#xff0c;所以需要分布式配置中心组件。 什么是Spring Cloud Config Spring Cloud Config项目是…

20230913java面经整理

1.hashmap为什么重写hashcode必须重写equals&#xff1f;不重写hashcode&#xff1f; hashcode判断对象存放的索引值&#xff0c;equals判断相同索引下对象是否相同&#xff0c;不同则存放&#xff08;链表&#xff09; hashcode提升查询效率&#xff0c;通过哈希计算&#xf…

【【萌新编写riscV之计算机体系结构之CPU 总二】】

萌新编写riscV之计算机体系结构之CPU 总二&#xff08;我水平太差总结不到位&#xff09; 在学习完软件是如何使用之后 我们接下来要面对的问题是 整个程序是如何运转的这一基本逻辑 中央处理器(central processing unit&#xff0c;CPU)的任务就是负责提取程序指令&#xff0…

2023年9月16日(星期六)骑行新海晏村

2023年9月16日 (星期六)&#xff1a;骑行新海晏村&#xff0c;早8:30到9:00&#xff0c; 大观楼门囗集合&#xff0c;9:30准时出发 【因迟到者&#xff0c;骑行速度快者&#xff0c;可自行追赶偶遇。】 偶遇地点: 大观楼门囗集合&#xff0c;家住东&#xff0c;南&#xff0c…

Redis常用应用场景

Redis是一款开源的基于内存的键值存储系统&#xff0c;它提供了多种数据结构和丰富的功能&#xff0c;适用于各种不同的应用场景。以下是Redis常用的应用场景&#xff1a; 1.缓存&#xff1a;Redis最常见的用途就是作为缓存。由于Redis存储在内存中&#xff0c;读取速度非常快…