docker基础7——harbor私有仓库

news2024/11/16 17:48:22

文章目录

  • 一、基本了解
  • 二、搭建私有仓库
    • 2.1 基于官方镜像搭建
    • 2.2 基于harbor

一、基本了解

  • 大部分企业都会搭建一个内部使用得私有仓库,用于保存docker镜像,包括镜像的层次结构和元数据。

Docker Registry分类:

  1. 企业版EE。
  2. 官方docker hub仓库。
  3. 私有仓库,自己搭建。比如官方提供的Docker Distribution软件包搭建、harbor工具。

注意事项:

  1. 所有的Registry默认是https,而自建Registry可能是基于http工作的。但是Docker默认是拒绝使用http提供Registry服务的,除非明确的告诉它,我们就是要用http协议的Registry。
  2. 官方提供的 昂库不好用,一般都是采用harbor搭建私有仓库。

harbor介绍:

  • Harbor是由VMWare在Docker Registry的基础之上进行了二次封装,加进去了很多额外程序,可以提供web管理界面。
  • harbor私有仓库可以通过容器部署,涉及到很多服务,所以需要使用docker compose工具管理。

二、搭建私有仓库

2.1 基于官方镜像搭建

  • 弊端多,不能查找私有仓库中有哪些镜像;上传的镜像文件数据不易保存。
  • 这种方式了解即可,生产中不会采用该方式。

1.直接拉取镜像启动仓库容器。

//指定always参数,代表重启docker服务后,让容器继续运行。
docker run -d -p 5000:5000 --restart=always registry

在这里插入图片描述
2.修改docker配置文件,指定私有仓库地址。

[root@localhost ~]# cat /etc/docker/daemon.json 
{
     "bip":"192.168.100.1/24",
     "dns":["114.114.114.114","8.8.8.8"],
     "registry-mirrors": ["https://registry.docker-cn.com","https://11vuihex.mirror.aliyuncs.com"],
     "insecure-registries": ["192.168.161.129:5000"]    //添加此行。
}


systemctl daemon-reload
systemctl restart docker

3.上传本地镜像到私有仓库。

//修改本地镜像标签。
docker tag httpd:v1 192.168.161.129:5000/httpd:v1

//上传
docker push 192.168.161.129:5000/httpd:v1

在这里插入图片描述

2.2 基于harbor

  • docker-compose下载地址
  • harbor安装包下载地址

注意事项:

  1. 在客户端上传镜像时一定要记得执行docker login进行用户认证,否则无法直接push。
  2. 在客户端使用的时候如果不是用的https则必须要在客户端的/etc/docker/daemon.json配置文件中配置insecure-registries参数。比如添加一行:“insecure-registries”: [“http://192.168.161.129”]
  3. 数据存放路径应在配置文件中配置到一个容量比较充足的共享存储中
  4. Harbor是使用docker-compose命令来管理的,如果需要停止Harbor也应用docker-compose stop来停止,其他参数请–help

1.安装docker-compose

wget https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-linux-x86_64
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

2.安装harbor。

//下载解压安装包。
wget https://github.com/goharbor/harbor/releases/download/v2.8.2/harbor-offline-installer-v2.8.2.tgz
tar zxf harbor-offline-installer-v2.8.2.tgz -C /usr/local/


//修改配置文件。
cd /usr/local/harbor/
cp harbor.yml.tmpl    harbor.yml
vim harbor.yml
......
https     //关闭https相关。      
......
hostname: 192.168.161.129    //修改本地ip。
harbor_admin_password: citms     //harbor仓库登陆密码。

//安装。
./install.sh 

3.默认80端口访问网页。账号/密码:admin/自定义的citms
在这里插入图片描述
4.创建仓库。
在这里插入图片描述
5.上传镜像。

//修改配置文件,指定客户端使用http登录仓库。
cat /etc/docker/daemon.json 
{
     "bip":"192.168.100.1/24",
     "dns":["114.114.114.114","8.8.8.8"],
     "registry-mirrors": ["https://registry.docker-cn.com","https://11vuihex.mirror.aliyuncs.com"],
     "insecure-registries": ["http://192.168.161.129"]   //添加此行。
}

systemctl  daemon-reload
systemctl  restart docker



//上传。
docker tag nginx:v1 192.168.161.129/qingjun/nginx:v1
docker push 192.168.161.129/qingjun/nginx:v1

在这里插入图片描述
6.下载镜像。

docker pull 192.168.161.129/qingjun/nginx:v1

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

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

相关文章

【雕爷学编程】MicroPython动手做(10)——零基础学MaixPy之神经网络KPU

早上百度搜“神经网络KPU”,查到与非网的一篇文章《一文读懂APU/BPU/CPU/DPU/EPU/FPU/GPU等处理器》,介绍各种处理器非常详细,关于“KPU”的内容如下: KPU Knowledge Processing Unit。 嘉楠耘智(canaan)号…

了解11种常见的字符编码格式及其使用场景,让数据传输不再出现问题

🧑‍💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 前言 在有一次SDK开发中,…

选读SQL经典实例笔记14_层次查询

1. 结果集 1.1. sql select empno,mgrfrom emp order by 2EMPNO MGR ---------- ----------7788 75667902 75667499 76987521 76987900 76987844 76987654 76987934 77827876 77887566 78397782 7…

React之生命周期

React之生命周期 旧版本,函数组件是没有生命周期的。新版本中通过useEffect触发函数的生命周期 一、基于类组件的生命周期 React的组件生命周期分为挂载阶段、更新阶段和销毁阶段。因为React的state不具有Vue的响应式,所以并没有create阶段 1、挂载阶段&…

Linux学习之循环处理位置参数

for处理位置参数 loopPositionFor.sh里边的内容如下: #!/bin/bash# show learningfor inputString in $* doif [ "${inputString}" "good" ];thenecho "learning"fi donechmod urx loopPositionFor.sh给当前用户把loopPositionFor…

linux NDK交叉编译rtmp 与 ffmpeg+rtmp交叉编译(v7a,v8a) 完成流程

最近在学RTMP,记录一下完成的编译流程 我是mac 电脑,但是mac上编译一直通过不了,后来才换到服务器上编译, 其实mac也能编译,只是最开始踩到坑里面了… 这里记录一下linux编译完整流程 环境: NDK: android-ndk-r17cFfmpeg: ffmpeg4.2.2 (高版本也可以编译)system: mac 1. …

HCIA实验四

一.实验要求: 1、R4为ISP,其上只能配置IP地址;R4与其他所有直连设备间均使用共有IP; 2、R3 - R5/6/7为MGRE环境,R3为中心站点; 3、整个网络配置OSPF环境,IP基于172.16.0.0/16网段划分&#x…

分享5个AI办公新玩法,1行Python代码免费实现!

大家好,这里是程序员晚枫,小破站也叫这个名。 随着ChatGPT的兴起,AI办公也越来越火,今天给大家分享5个AI办公的第三方库,不仅全部免费而且都可以用1行Python代码启动。 赶紧去看看吧! 1、智能聊天机器人…

关于minio的简单使用

最近在学习minio相关知识,小小的记录一下学习内容 MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等…

【自动化测试】Selenium IDE脚本编辑与操作

之前,我们录制脚本时是录制鼠标和键盘的所有在浏览器的操作,那么脚本会出现多余的步骤,有时候我们需要手动填写脚本或修改脚本,所以我们有必要对selenium IDE脚本编辑与操作有所了解;(采用录制的方式很容易…

如何解决大数据下滚动页面卡顿问题

原文合集地址如下,有需要的朋友可以关注 本文地址 合集地址 前言 之前遇到不分页直接获取到全部数据,前端滚动查看数据,页面就听卡顿的,当然这和电脑浏览器性能啥的还是有点关系。但根源还是一次性渲染数据过多导致的&#xf…

【Git】初始化仓库配置与本地仓库提交流程

目录 一、仓库配置邮箱与用户名 二、本地仓库提交流程 一、仓库配置邮箱与用户名 【Git】Linux服务器Centos环境下安装Git与创建本地仓库_centos git仓库搭建_1373i的博客-CSDN博客https://blog.csdn.net/qq_61903414/article/details/131260033?spm1001.2014.3001.5501 在…

JavaScript基础篇(61-70题)

此文章,来源于印客学院的资料【第一部分:基础篇(105题)】,也有一些从网上查找的补充。 这里只是分享,便于学习。 诸君可以根据自己实际情况,自行衡量,看看哪里需要加强。 概述如下: 希望获取…

2023年深圳杯A题赛题详细解析1.1版本

A题 影响城市居民身体健康的因素分析 附件A1是某市卫生健康研究部门对部分居民所做的“慢性非传染性疾病及其相关影响因素流行病学”调查问卷表,附件A2是相应的调查数据结果,附件A3是中国营养学会最新修订的《中国居民膳食指南》中为平衡居民膳食提出的…

UG NX二次开发(C#)-参数化修改三维模型中的文字

文章目录 1、前言2、在UG NX中创建一个带文字的三维模型3、创建一个UI界面4、 NXOpen二次开发实现5、测试1、前言 在UG NX中通过表达式不仅能修改尺寸参数、位置参数,也能修改文字,通过设计一个UI 界面,使得文字根据输入值的变化而变化,本文就针对三维模型中得文字来讲一下…

LeakCanary内存泄漏检测框架分析。

一、什么叫内存泄漏、内存溢出? 内存溢出(out of memory):是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 内…

JavaEE——Bean的生命周期

目录 1、实例化Bean 2、设置Bean的属性 3、初始化Bean (1)、执行通知 (2)、初始化的前置方法 (3)、初始化方法 (4)、执行自定义方法 (5)、初始化的后置…

js读取接口返回的最快的那一个

promise.race 顾名思义,Promse.race就是赛跑的意思,意思就是说,Promise.race([p1, p2, p3])里面哪个结果获得的快,就返回那个结果,不管结果本身是成功状态还是失败状态。 Promise.race([this.$axios.get("api/on…

UiPath-TTS

UiPath-Text to Speech既TTS应用 缘起原理法一 - Invoke Method法二 - Invoke Code 总结 缘起 不知道大家有没有使用过Excel的Read Cell功能或者智能音箱,实用性因场景而异,但是很好玩。回到RPA应用中,大家想象一下,如果你给自己…

STM32的CAN外设简介

目录 STM32的CAN外设简介 CAN框图剖析 CAN控制内核 工作模式 位时序及波特率 CAN发送邮箱 CAN接收FIFO 验收筛选器(重点) 整体控制逻辑 STM32的CAN外设简介 STM32的芯片中具有bxCAN控制器 (Basic Extended CAN 基本扩展CAN外设),它支…