8.docker仓库

news2024/11/16 22:02:02

文章目录

  • Docker仓库
    • 本地私有仓库
    • Docker Harbor
      • Docker harbor部署
      • 访问页面
      • 创建用户下载私有仓库镜像
      • harbor同步

Docker仓库

本地私有仓库

##先下载   registry 镜像

docker pull registry
##修改配置文件,在   daemon.json 文件中添加私有镜像仓库地址

vim /etc/docker/daemon.json

{
  "insecure-registries": ["http://192.168.242.66:5000"],   
    ##注意在末尾添加  ,
    
  "registry-mirrors": ["镜像加速URL"]
}

在这里插入图片描述

##重启服务

systemctl restart docker.service
##运行  registry  容器

docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest

在这里插入图片描述

###为要上传的镜像重新打标签

docker tag nginx:centos7 192.168.242.66:5000/nginx:v1

在这里插入图片描述

##上传镜像到私有仓库

docker push 192.168.242.66:5000/nginx:v1

在这里插入图片描述

###在网页中查看所有的镜像

http://192.168.242.66:5000/v2/_catalog


###查看仓库中某一个镜像的tag标签

http://192.168.242.66:5000/v2/nginx/tags/list

在这里插入图片描述
在这里插入图片描述

###在另外一个docker服务器中,拉去这个仓库中是镜像

##也要先修改配置文件

##修改配置文件,在   daemon.json 文件中添加私有镜像仓库地址

vim /etc/docker/daemon.json

{
  "insecure-registries": ["http://192.168.242.66:5000"],   
    ##注意在末尾添加  ,
    
  "registry-mirrors": ["镜像加速URL"]
}


##重启服务

systemctl restart docker.service
##在配置文件修改完成后,拉取镜像

docker pull 192.168.242.66:5000/nginx:v1

在这里插入图片描述

Docker Harbor

Docker harbor部署

##首先,先修改   daemon.json  配置文件

vim /etc/docker/daemon.json

{
  "insecure-registries": ["http://192.168.242.67"],   
    ##注意在末尾添加  ,
    
  "registry-mirrors": ["镜像加速URL"]
}


##重启Docker服务
systemctl restart docker 
##上传  Docker harbor 安装文件并安装
##安装  Docker-compose  服务

cd /opt/

tar xf harbor-offline-installer-v1.10.18.tgz


chmod +x docker-compose
mv /opt/docker-compose /usr/local/bin/docker-compose
docker-compose --version

在这里插入图片描述

##修改  harbor  配置文件

cd /opt/harbor

vim  harbor.yml


---第5行---
hostname: 192.168.242.67

---第13行---
注释掉https的配置项

---第27行
harbor_admin_password: Harbor12345
##记住harbor的密码

在这里插入图片描述

##先做前其准备或者之间安装 harbor

cd /opt/harbor

./prepare


./install.sh        ##自动安装



###查看所有的镜像是否安装成功

docker-compose ps

在这里插入图片描述
在这里插入图片描述

访问页面

###在网页中登陆到 harbor

http://192.168.242.67

用户:admin
密码:Harbor12345

##就可以看见页面

在这里插入图片描述

##在页面中创建项目


---》项目
---》新建项目
--》项目名称,其他默认,如果要创建公开仓库,可以点击公开

在这里插入图片描述

###上传镜像文件到  harbor的私有和共有仓库
##先修改标签

docker tag centos:7 192.168.242.67/library/centos:test01

docker tag centos:7 192.168.242.67/myimages/centos:test02


##要上传镜像到  harbor,需要先登录

docker login -u admin -p Harbor12345 http://192.168.242.67

##上传镜像

docker push 192.168.242.67/library/centos:test01

docker push 192.168.242.67/myimages/centos:test02

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建用户下载私有仓库镜像

--》用户管理
--》创建用户
--》按照要求填写选项

在这里插入图片描述

##对应的项目中添加用户

--》项目
--》点击项目名
--》成员,添加用户
--》为用户选择角色(决定用户的权限)

在这里插入图片描述

###在另外一个docker服务器中,拉取这个harbor仓库的镜像

##先修改配置文件

vim /etc/docker/daemon.json

{
  "insecure-registries": ["http://192.168.242.67"],   
    ##注意在末尾添加  ,
    
  "registry-mirrors": ["镜像加速URL"]
}


##重启Docker服务
systemctl restart docker
###先利用创建的用户登陆 harbor

docker login -u lisi -p Lisi12345 http://192.168.242.67

##利用lisi 在myimages项目中的维护人员身份,来去镜像文件

docker pull 192.168.242.68/myimages/nginx:v2

在这里插入图片描述

###退出  lisi的登陆用户

docker logout

docker login -u zhangsan -p Zhangsan123 http://192.168.242.67

##尝试利用  zhangsan  的身份拉取镜像,成功

docker pull 192.168.242.68/myimages/nginx:v2

在这里插入图片描述

###利用这连个用户,尝试上传镜像

docker tag 192.168.242.66:5000/nginx:v2 192.168.242.68/myimages/ngin:v3
##先修改标签

docker push 192.168.242.68/myimages/ngin:v3
##在上传镜像

在这里插入图片描述
在这里插入图片描述

  • 结论

    • 拉取操作时:

      • 公开项目的镜像可以被任意用户拉取
      • 私有项目的镜像必须先登陆项目对应的相关用户才能拉取
    • 上传操作时:

      • 必须先登陆相关项目的用户,且登陆的用户具有上传权限的角色才能够推送镜像

harbor同步

###在另外的一台的docker服务器中创建harbor服务

##首先,先修改   daemon.json  配置文件

vim /etc/docker/daemon.json

{
  "insecure-registries": ["http://192.168.242.66"], 
    ##注意在末尾添加  ,
    
  "registry-mirrors": ["镜像加速URL"]
}


##重启Docker服务
systemctl restart docker
##在harbor的配置文件中

 vim harbor.yml
 
 
 
---第5行---
hostname: 192.168.242.66

---第13行---
注释掉https的配置项

---第27行
harbor_admin_password: Harbor12345
##记住harbor的密码
##在web中访问另外一台 harbor

http://192.168.242.66

在这里插入图片描述

###仓库管理

--》仓库管理
--》新建目标      提供者  : harbor      目标名:另一个harborIP    目标URL:另一个harborIP
                 访问ID:admin     访问密码:就是密码
--》测试链接   成功就确认


##两个harbor之间都要互相做对方的仓库管理

在这里插入图片描述

##两个 harbor  进行复制管理,首先创建   push  是触发动作,实现镜像同步

--》复制管理
--》新建规则
--》按照要求进行填写        名称:对方harbor的IP     复制模式:按要求选
                         目标的Registry:选择创建的仓库管理
                         触发模式:事件驱动
                         勾选  删除本地资源时,删除远程资源

在这里插入图片描述

##在192.168.242.68上  上传镜像,查看另一个harbor是否同步

docker tag nginx:latest 192.168.242.68/myimages/nginx:v8

docker login -u admin -p Harbor12345 http://192.168.242.68

docker push 192.168.242.68/myimages/nginx:v8

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

##在 192.168.242.66 的主机上创建  pull  来去来复制镜像

--》复制管理
--》新建规则
--》按照要求进行填写        名称:对方harbor的IP     复制模式:按要求选
                         目标的Registry:选择创建的仓库管理
                         触发模式:定时
                         Cron String 0 */1 * * * *
                         覆盖勾选

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

第三节 C++ 运算符

文章目录 掌握知识点1. 运算符概述1.1 算术运算符1.1.1 加,减,乘,除1.1.2 自增,自减1.1.3 取模运算 % 1.2 赋值运算符1.3 比较运算符1.4 逻辑运算符 2. 编程题:运算符使用2.1 计算器2.2 位数分离2.3 鸡兔同笼问题 掌握…

重学C++系列之智能指针简单介绍

一、什么是智能指针 在使用堆内存时,就像使用栈内存空间一样,可以实现自释放的功能,智能指针在C库中也是类模板之一。 二、智能指针有几种 有四种。auto_ptr, unique_ptr, shared_ptr, weak_ptr 其中后三个是C11支持,第一个已经被…

递归:一个图教学会递归原理

递归的特点 实际上,递归有两个显著的特征,终止条件和自身调用: 自身调用:原问题可以分解为子问题,子问题和原问题的求解方法是一致的,即都是调用自身的同一个函数。终止条件:递归必须有一个终止的条件,即不…

软考A计划-系统集成项目管理工程师-项目人力资源管理-上

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

百度与AI:历史、投资和监管

来源:猛兽财经 作者:猛兽财经 百度的人工智能在中国具有先发优势 随着ChatGPT的爆火,人工智能重新引起了投资者的注意,然而人工智能并不是突然爆火的,而是全球众多公司在人工智能技术上进行数十年如一日的研发和积累&a…

Vite创建Vue+TS项目引入文件路径报错

使用vite搭建vue3脚手架的时候,发现main.ts中引入App.vue编辑器会报错,但是不影响代码运行。 报错信息:TS2307: Cannot find module ‘./App.vue’ or its corresponding type declarations. 翻译过来是找不到模块或者相关的声明类型&#…

发现问题:edge浏览器的效率模式会导致setTimeout/setInterval变慢

问题描述 当edge浏览器启用效率模式后,setTimeout/setInterval运行一段时间后,执行间隔会变慢。 开启后: 关闭效率模式:

pspice导入元件Orcad spice模型

想要使用英飞凌一款驱动芯片,型号:1EDN7550U,在贸泽等各大网站上都没有找到改元件的spice仿真模型,经过一番摸索,终于找到了。 1、首先去芯片官网上查找该元件;找到该元件的spice模型 2、下载下来&#xff…

第十一章:deque类

系列文章目录 文章目录 系列文章目录前言deque的介绍deque的使用deque的缺陷deque的应用总结 前言 deque是一种双开口的“连续空间”的容器。 deque的介绍 deque(双端队列):是一种双开口的"连续"空间的数据结构,双开口的含义是:可…

消息中间件RabbitMQ——学习笔记

❤ 作者主页:欢迎来到我的技术博客😎 ❀ 个人介绍:大家好,本人热衷于Java后端开发,欢迎来交流学习哦!( ̄▽ ̄)~* 🍊 如果文章对您有帮助,记得关注、点赞、收藏、…

前端文件上传实践与后端处理——文件分块上传

文件上传是现代Web应用程序中常见的功能之一。在这篇博客中,我们将探讨一个简单但完整的前端文件上传实践,同时提供一个后端示例,演示如何处理上传的文件。我们将使用JavaScript作为前端语言,并结合Node.js作为后端环境。让我们开…

Jekins权限管理,给不同用户分配不同项目的权限【一些小细节真要注意】

首先进入jekins的系统管理界面: 一、插件安装 如果没有安装权限管理的插件,需要安装一个插件,插件的名字叫Role-based Authorization Strategy,进入插件管理中,选中这个插件,点击下面的安装就好了&#x…

java-day01(基本常识,环境搭建,注释,HelloWorld)

一:基础常识 软件:按照特定顺序的计算机数据与指令的集合。可分为系统软件(如操作系统)和应用软件(如QQ) 人机交互方式:图形化界面(GUI)与命令行(CLI&#…

阿里大佬都内卷的 SpringBoot 从入门到实战笔记,太硬核了!

前言 这份 SpringBoot 实战文档,结合典型业务场景,全面介绍基于 Spring Boot 的核心开发技术,整合开源组件,一步一步地搭建微服务框架,实现微服务治理,详解 60 多个示例、2 个综合项目案例,提高…

低代码管理系统源码:只需简单编写配置文件即可构建企业级应用程序

一套可视化建模,描述式编程的企业应用程序开发平台。只需简单的点击鼠标,几乎任何人都可以创建功能强大的企业应用程序,实现业务流程自动化。企业创建的应用程序可以部署在移动,平板电脑和Web上,创建的应用程序可以很简…

使用Pytest生成HTML测试报告

背景 最近开发有关业务场景的功能时,涉及的API接口比较多,需要自己模拟多个业务场景的自动化测试(暂时不涉及性能测试),并且在每次测试完后能够生成一份测试报告。 考虑到日常使用Python自带的UnitTest,所…

TPlink云路由器界面端口映射设置方法?快解析内网穿透能实现吗?

有很多网友在问:TPlink路由器端口映射怎么设置?因为不懂端口映射的原理,所以无从下手,下面小编就给大家分享TPlink云路由器界面端口映射设置方法,帮助大家快速入门TP路由器端口映射设置方法。 1.登录路由器管理界面&a…

Visual Studio 2022 程序员必须知道高效调试手段与技巧(下)终章

🎬 鸽芷咕:个人主页 🔥 个人专栏:《C语言初阶篇》 《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活! 文章目录 📋 前言💬 一些调试的实例💭 实例一📺 调试演示 💭 实…

24考研数据结构-第一章 绪论

数据结构 引用文章第一章:绪论1.0 数据结构在学什么1.1 数据结构的基本概念1.2 数据结构的三要素1.3 算法的基本概念1.4 算法的时间复杂度1.4.1 渐近时间复杂度1.4.2 常对幂指阶1.4.3 时间复杂度的计算1.4.4 最好与最坏时间复杂度 1.5 算法的空间复杂度1.5.1 空间复…

freeswitch的mod_xml_curl模块

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 随着fs服务的增多,每一台fs都需要在后台单独配置,耗时耗力,心力憔悴。 如果有一个集中管理配置的配置中心,统一管理所有fs的配置,并可以实现动态的修改配置就…