掌握CentOS7环境下的Docker使用(八)阿里云镜像仓库实战、harbor仓库搭建与实战、本地镜像容器的载入载出

news/2024/4/28 19:07:47/文章来源:https://blog.csdn.net/qq_46033586/article/details/129662099

文章目录

  • 镜像仓库简介
    • 公共镜像仓库
    • 私有镜像仓库
  • 阿里云镜像仓库的搭建与使用
    • 创建仓库
    • 登录
    • 将镜像推送到Registry
    • 从Registry中拉取镜像
  • harbor仓库搭建与使用
    • 搭建harbor仓库
    • 配置与使用harbor仓库
  • 本地镜像容器的载入与载出
    • 保存镜像
    • 保存容器
  • 可能出现的问题
    • 输入正确的密码登录不进去阿里云镜像仓库
    • 执行`sh prepare`报错
    • 登录harbor仓库报错

镜像仓库简介

通俗来讲,镜像仓库就是存放着很多镜像的仓库,镜像仓库起到备份作用,方便其他机器下载使用

镜像仓库的种类可以大致分为两大类:

公共镜像仓库

官方:https://hub.docker.com/,基于各个软件开发或者有软件提供商开发的
非官方:其他组织或者公司开发的镜像,供大家免费使用

私有镜像仓库

公司自己搭建的,用于存放公司内部的镜像,自己管理,不提供给外部使用,避免了商业项目暴露出去的风险

阿里云镜像仓库的搭建与使用

阿里云镜像仓库申请地址:https://cr.console.aliyun.com/cn-shanghai/instances/repositories

创建仓库

登录,选择企业/个人实例
在这里插入图片描述

选择私有,其他可以自定义
在这里插入图片描述

选择本地仓库,创建
在这里插入图片描述

创建成功
在这里插入图片描述
点开仓库可以看到操作指南:
在这里插入图片描述
在这里插入图片描述

登录

docker login --username=豆浆两块钱 --password=xxx registry.cn-shanghai.aliyuncs.com或者docker login --username=豆浆两块钱 registry.cn-shanghai.aliyuncs.com
在这里插入图片描述

将镜像推送到Registry

将本地mysql:5.7镜像推送上去:
(1)docker tag 0018a8d83892 registry.cn-shanghai.aliyuncs.com/zytenimages/mysql:5.7
在这里插入图片描述

(2)docker push registry.cn-shanghai.aliyuncs.com/zytenimages/mysql:5.7
在这里插入图片描述
在这里插入图片描述

推送成功
在这里插入图片描述

从Registry中拉取镜像

启动另一个虚拟机,从阿里云镜像仓库中拉取镜像:docker pull registry.cn-shanghai.aliyuncs.com/zytenimages/mysql:5.7
在这里插入图片描述

拉取成功:
在这里插入图片描述

harbor仓库搭建与使用

安装之前确保前置条件是否满足,需要安装docker、docker-compose、openssl以及python2.7以上

搭建harbor仓库

安装:yum -y install openssl

Harbor离线版安装下载地址:https://github.com/goharbor/harbor/releases
或者使用我下载的安装包地址:https://pan.baidu.com/s/14NfZYKz5-Y4hnkPG0koDYA?pwd=birc 提取码:birc

上传对应安装包到/usr/lcoal目录下:
在这里插入图片描述
解压harbor-offline-installer-v2.7.1.tgz压缩包:tar -xf harbor-offline-installer-v2.7.1.tgz
进入解压后的harbor文件夹修改harbor.yml配置: 如果没有这个文件,就把harbor.yml.tmpl修改为harbor.yml

  • 修改主机名为宿主机ip(注意空格): hostname: 10.24.200.10
  • 修改密码(注意空格): harbor_admin_password: Harbor12345
    在这里插入图片描述

执行脚本: sh prepare
在这里插入图片描述

执行安装命令:sh install.sh
在这里插入图片描述

执行命令: docker-compose ps
在这里插入图片描述

访问Harbor,默认用户名admin,密码是在harbor.yml修改的密码

  • 关闭:docker-compose down
  • 启动:docker-compose up -d

因为是基于nginx搭建的仓库,可以看到端口默认是80,根据ip直接访问:
在这里插入图片描述
在这里插入图片描述

配置与使用harbor仓库

Docker配置使用自建仓库

  • 默认docker只允许访问 https仓库
  • 如果要访问http仓库需要自己配置

harbor网页上创建项目:
在这里插入图片描述
在这里插入图片描述

登录: docker login --username=admin 10.24.200.10
在这里插入图片描述
改名: docker tag mysql:5.7 10.24.200.10/zyten/mysql:5.7
推送: docker push 10.24.200.10/zyten/mysql:5.7
在这里插入图片描述
在这里插入图片描述
成功上传

下载: docker pull 10.24.200.10/zyten/mysql:5.7
在这里插入图片描述
在这里插入图片描述
下载成功

docker login后有一个登录凭证(可删除,下次需要密码):
/root/.docker/config.json (建议从安全角度出发,每次登录后进行删除)

本地镜像容器的载入与载出

一般情况下,都是把镜像上传到镜像仓库中使用时下载。但如果无法上外网,也没有私有仓库如harbor等,那只能把镜像以文件形式下载到本地,或者使用内网拷贝上传到服务器,载入这个镜像就可以使用了

两种办法:

  • 保存镜像
  • 保存容器

保存镜像

docker save c20987f18b13 -o /home/mysql.tar
-o:指定输出位置
docker save mysql:5.7 > /home/mysql.tar
在这里插入图片描述
保存镜像成功

载入镜像: docker load -i mysql.tar
在这里插入图片描述

保存容器

docker export a43f4f969670 -o /home/mysql-export.tar
在这里插入图片描述

载入容器: docker import mysql-export.tar

可能出现的问题

输入正确的密码登录不进去阿里云镜像仓库

在这里插入图片描述

解决方法: 如果你的密码中包含数字,不要使用小键盘的数字输入,用字母上面一排的数字按键输入

执行sh prepare报错

Error happened in config validation…
ERROR:root:Error: The protocol is https but attribute ssl_cert is not set

在这里插入图片描述

解决方法: 将harbor.yml中的12-18行都注释掉:
在这里插入图片描述

之后重新执行sh prepare

登录harbor仓库报错

Error response from daemon: Get “https://10.24.200.10/v2/”: dial tcp 10.24.200.10:443: connect: no route to host
在这里插入图片描述
配置允许访问http仓库:/etc/docker/daemon.json

{"registry-mirrors": ["https://5xok66d4.mirror.aliyuncs.com"],"insecure-registries":["http://10.24.200.10"]
}

之后重启docker服务: systemctl restart docker.service
在这里插入图片描述
登陆成功

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人员玩手机离岗识别检测系统 yolov5

人员玩手机离岗识别检测系统根通过pythonyolov5网络模型识别算法技术,人员玩手机离岗识别检测算法可以对画面中人员睡岗离岗、玩手机打电话、脱岗睡岗情况进行全天候不间断进行识别检测报警提醒。Python是一种由Guido van Rossum开发的通用编程语言,它很…

Spring核心概念

Spring核心概念1 介绍1.1 为什么要学?1.2 学什么?1.3 怎么学?2 Spring相关概念2.1 初识Spring2.1.1 Spring家族2.1.2 了解Spring发展史2.2 Spring系统架构2.2.1 系统架构图2.2.2 课程学习路线2.3 Spring核心概念2.3.1 目前项目中的问题2.3.2 IOC、IOC容器、Bean、DI2.3.3 核…

Open Inventor 2023.1RC 将更大变化

体积可视化 具有单一分辨率的体积渲染 使用单一分辨率渲染卷更容易,因为卷可视化现在可以根据当前设置和硬件配置自动计算出最佳分辨率。使用单一分辨率可防止在默认模式下可能可见的不良伪影。 下图突出显示了单一分辨率的优势。在左图中,在 2 种分辨…

深度学习:GPT1、GPT2

深度学习:GPT1、GPT2、GPT3的原理与模型代码解读GPT-1IntroductionFramework自监督学习微调ExperimentGPT-2IntroductionApproachConclusionGPT-3GPT-1 Introduction GPT-1(Generative Pre-training Transformer-1)是由OpenAI于2018年发布的…

Python读取,预处理DICOM文件方式

需要的库 ●Simpleitk 安装命令: conda install -c simpleitk simpleitk使用: import SimpleITK as sitk●pydicom(不推荐,可能有些文件打不开) 安装命令: conda install -c conda-forge pydicom●PIL …

linux系统添加审计用户并进行权限控制

审计账号只用于审计功能,其权限可在普通账号基础上进行修改.创建审计用户 sjyhuseradd sjyh为审计用户设置登录密码passwd sjyh会有如下提示,按照提示依次修改即可:更改用户 sjyh 的密码 。 新的 密码: 重新输入新的 密码: 重新输…

平庸的恐惧,就业的烦恼——致互联网人进退两难的35岁

最近阿道看到了一些黑色幽默的新闻。 事情是这样的,某媒体发文抨击职场的“35岁”歧视,但后来被扒出,该媒体所属的机构在发布招聘信息时,却明确地标注了受聘者的年龄界限。 这一通操作属实把大家看傻了,后来阿道又在…

AVL树大讲堂

1.基础概念介绍 首先在前面我们介绍了二叉搜索树,但是如果当存储的数据接近有序或者恰巧有序的时候,二叉搜索树将逐渐退化为单支树,导致搜索效率降低,因此我们的avl树便为了解决这一问题而诞生了。 基础性质:当向二叉…

Tone Mapping中luma滤波(降噪)对噪声放大的定性分析

Tone Mapping中luma滤波对噪声放大的定性分析 在tone mapping过程中,通常经过统计之后得到一条mapping曲线,记这条曲线为f(x)f(x)f(x),mapping过程中,对于给定的点,假定其亮度为xxx,映射后为f(x)f(x)f(x)&…

虚拟机设置桥接模式:静态IP

一、下载virtual box并安装系统 链接:https://www.virtualbox.org/ 安装并配置Ubuntu桌面版:https://blog.csdn.net/Zhichao_Zhang/article/details/127142410?spm1001.2014.3001.5506 安装并配置CentOS7:https://blog.csdn.net/csp7321711…

【学习笔记】《Writing Science》14-21

文章目录14 Energizing Writing 充满活力的写作14.1. ACTIVE VERSUS PASSIVE VOICE 主动语态和被动语态14.1.1. Controlling Perspective 控制视角14.1.2. Hiding the Actor 隐藏演员14.2. FUZZY VERBS 模糊动词14.2.1. Fuzzy Hypotheses 模糊假设14.3. NOMINALIZATIONS 名词化…

自动化测试学习(七)-正则表达式,你真的会用吗?

目录 一、正则表达式在python中如何使用 二、用正则表达式匹配更多模式 三、常用字符分类的缩写代码 总结 所谓正则表达式(regex),就是一种模式匹配,学会用正则匹配,就可以达到事半功倍的效果。 一、正则表达式在…

本地资源检测|单规则多阈值设置功能上线

作为一款可以全面自动检测项目静态工程内各项资源、代码和设置的UWA服务,本地资源检测能够帮助项目组制定合理的资源与代码标准,及时发现潜在的性能问题和异常错误,建立有效的开发规范意识。 此次3.1.0版本更新,在优化和完善现有…

Rcpp包运行C++代码

提高 R 脚本性能的最简单、最快捷的方法是更改脚本的问题部分并用 C 重写它们。Rcpp包提供了 R 和 C 之间的接口。1. cppFunction()转换简单的C函数### 1. cppFunction()转换简单的C函数 library(Rcpp) cppFunction(codeint fibonacci(const int x){if(x < 2) return x;if(x…

项目日记:学成在线(第二天P24~p34)

1、注入的两种方式&#xff1a;Autowired、Resource&#xff08;基于类型和名称&#xff09; 相同&#xff1a; Resource和Autowired都是做bean的注入时使用 不同&#xff1a; ①Autowird 属于spring框架,默认使用类型(byType)进行注入&#xff1a;&#xff08;基于类型&#x…

堆溢出——unlink漏洞攻击(bamboobox)

题目自取&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1S9xbAWhFw0xFqFyQTACqLA?pwdvvud 提取码&#xff1a;vvud 介绍&#xff1a; 终于学到Unlink了&#xff0c;不得不说和栈的难度相比确实大了很多&#xff0c;学起来确实很淦&#xff0c;一个unlink漏洞也确…

VSCode配置git bash为默认终端

打开左下角齿轮图标 打开Settings 搜索框输入 terminal.integrated.profiles.windows, 在下方显示的内容上点击 Edit in settings.json 配置修改如下 "terminal.integrated.profiles.windows": {"PowerShell": {"source": "PowerShell&qu…

Python每日一练(20230322)

目录 1. Excel表列序号 &#x1f31f; 2. 单词拆分 &#x1f31f;&#x1f31f; 3. 删除有序数组中的重复项 II &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练…

营销即服务!怎么做小程序店铺打造优质用户体验?

随着移动互联网的快速发展&#xff0c;小程序已经成为了许多企业打造优质用户体验的重要工具。一个好的小程序店铺能够为用户提供良好的购物体验&#xff0c;提高用户满意度和转化率。那么&#xff0c;怎么做小程序店铺打造优质用户体验呢&#xff1f; 一&#xff1a;做小程序店…

Linux 信号(signal):信号的捕捉流程

目录一、程序的运行状态二、信号捕捉流程在处理信号的时候&#xff0c;其实要经过一系列流程的&#xff0c;本文就来简单介绍一下信号处理的捕捉流程。 一、程序的运行状态 程序运行状态分为内核态和用户态。程序在运行库函数、用户自定义函数等第三方函数时就会在用户态运行&…