docker Harbor2.3.4 https 搭建镜像仓库

在这里插入图片描述

在这里插入图片描述

文章目录

          • 一、环境准备
            • 1. 环境要求
            • 2. 节点总览
            • 3. 安装docker-compose
          • 二、安装harbor
            • 2.1. 下载
            • 2.2. 解压
            • 2.3. 认证
            • 2.4. 调整配置
            • 2.5. 安装 harbor
            • 2.6. 配置host
            • 2.7. 效果验证
          • 三、客户端
            • 3.1. 证书保存
            • 3.2. 新建配置
            • 3.3. 登录harbor
          • 四、基本操作
            • 4.1. 下线
            • 4.2. 监控状态
            • 4.3. 重新部署上线

一、环境准备
1. 环境要求

环境docker版本17.06.0+

软件版本
系统版本centOS 7.6.1810
docker20.10.11
docker-compose1.23.2
jdk1.8.0_301
2. 节点总览
ip端口用途
192.168.92.12980harbor节点1
3. 安装docker-compose

服务器有网络安装方式:
docker-compose是docker用来管理容器的一个工具,harbor的运行基于docker-compose。

  • 安装docker-compose:
curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
  • 如果github安装太慢,可使用下面的高速地址安装:
curl -L https://get.daocloud.io/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
  • 服务器无网络时安装方式:
    先下载好(下载地址:https://github.com/docker/compose/releases/)后,上传至服务器centos的/usr/local/bin目录下

  • 赋予权限
    不管使用哪种方式下载,上传到指定目录后都需要对文件进行赋权:

chmod +x /usr/local/bin/docker-compose
二、安装harbor
2.1. 下载

下载安装包:
 官网地址:https://github.com/vmware/harbor/releases/
 
下载速度慢可用这个地址:http://harbor.orientsoft.cn/
 在这里插入图片描述

cd /app
wget https://github.91chi.fun//https://github.com//goharbor/harbor/releases/download/v2.3.4/harbor-offline-installer-v2.3.4.tgz
2.2. 解压
cd /app
tar -zxvf harbor-offline-installer-v2.3.4.tgz
2.3. 认证

使用OpenSSL配置harbor所需认证

harbor推送拉去镜像默认是使用https。所以需要配置https认证。https认证一般有两种方式,一种是自签,另一种是向官方申请https证书。OpenSSL提供的CA(证书管理中心)可实现证书签发的整个流程。下面将记录设置https自签步骤。

(1)生成密钥和自签证书

cd /app
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt

其中x509代表生成自签名证书,newkey表示自动生成秘钥。执行命令后如下:
在这里插入图片描述
其中的其他信息随意,Common Name信息填写的就是harbor管理页面的域名

(2)证书签名请求

openssl req -newkey rsa:4096 -nodes -sha256 -keyout harbor.dockerregistry.com.key -out harbor.dockerregistry.com.csr

在这里插入图片描述

(3) 生成服务器证书

openssl x509 -req -days 365 -in harbor.dockerregistry.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out harbor.dockerregistry.com.crt

在这里插入图片描述

填写方式,和(1)生成密钥和自签证书操作一样,其中的其他信息随意,Common Name信息填写的就是harbor管理页面的域名

  • 执行后效果
    执行完后在本目录分别生成以ca和harbor.dockerregistry.com为名的.crt .key 和.srl文件。

  • 证书存放
    将服务器证书即harbor.dockerregistry.com.crt和harbor.dockerregistry.com.key拷贝保存在/etc/harborcert目录下:

mkdir /etc/harborcert/
cp harbor.dockerregistry.com.crt harbor.dockerregistry.com.key /etc/harborcert/
2.4. 调整配置

特殊说明:如果搭建的单机环境的话,配置服务器ip即可,如果集群环境,配置各自的ip
修改harbor配置文件
从模板harbor.yml.tmpl拷贝一份文件命名harbor.yml

cp /app/harbor/harbor.yml.tmpl /app/harbor/harbor.yml
vim /app/harbor/harbor.yml

修改配置harbor.yml文件如下:

hostname: 192.168.92.129
certificate: /etc/harborcert/harbor.dockerregistry.com.crt
private_key: /etc/harborcert/harbor.dockerregistry.com.key

在这里插入图片描述

单机环境这里跳过。
集群环境的话,配置要在配置一份,证书都用自己的,不能复制给另一台使用

hostname: 192.168.92.130
certificate: /etc/harborcert/harbor.dockerregistry.com.crt
private_key: /etc/harborcert/harbor.dockerregistry.com.key

在这里插入图片描述

2.5. 安装 harbor

运行install.sh文件安装harbor

cd /app/harbor/
ll
./install.sh

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

2.6. 配置host

单机环境配置一个即可

  • 192.168.92.129 服务器
vim /etc/hosts
192.168.92.129 harbor.dockerregistry.com
  • 192.168.92.130 服务器
vim /etc/hosts
192.168.92.130 harbor.dockerregistry.com
2.7. 效果验证

浏览器输入harbor域名,进入登录页面:

https://harbor.dockerregistry.com/
域名访问不好使,请使用下面ip
https://192.168.92.130/
默认用户名:

admin

密码:

Harbor12345
  • 登录页面
    在这里插入图片描述

在这里插入图片描述

三、客户端
3.1. 证书保存

客户端证书保存。在/etc/docker/certs.d/新建以harbor域名为命的文件夹。如下:

mkdir -p /etc/docker/certs.d/harbor.dockerregistry.com

拷贝客户端证书至该目录下:

cp /app/ca.crt /etc/docker/certs.d/harbor.dockerregistry.com
3.2. 新建配置

在/etc/docker目录下编辑daemon.json文件,没有的话新建该文件:

vim /etc/docker/daemon.json

内容如下:

{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},"insecure-registries":["192.168.92.129"]
}

单机环境这里跳过。
集群环境的话,配置要在配置一份,ip都用自己的,不能复制给另一台使用

{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},"insecure-registries":["192.168.92.130"]
}

其中"insecure-registries"字段对应的值就是harbor的ip。

3.3. 登录harbor

使用docker登录harbor

特殊:说明使用各自的ip在各自的服务器上进行登录

  • 192.168.92.129服务器执行
docker login 192.168.92.129

单机跳过,集群按此方式验证登录

  • 192.168.92.130服务器执行
docker login 192.168.92.130

输入用户名和密码。如下图:

[root@localhost harbor]# docker login 192.168.92.130
Username: admin
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded
[root@localhost harbor]#

在这里插入图片描述

四、基本操作
4.1. 下线
cd /app/harbor
docker-compose down -v

or

docker-compose stop

在这里插入图片描述

4.2. 监控状态

查看harbor的运行状态

cd /app/harbor
docker-compose ps

在这里插入图片描述

4.3. 重新部署上线
docker-compose up -d

在这里插入图片描述

接下一篇:Docker Harbor2.3.4 集群 双主复制高可用镜像仓库

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

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

相关文章

OPPO实时数仓揭秘:从顶层设计实现离线与实时的平滑迁移

一、建设背景 关于 OPPO 移动互联网业务 大家都认为 OPPO 是一家手机公司,但大家可能并不清楚,其实 OPPO 也会做与移动互联网相关的业务。在 2019 年 12 月,OPPO 发布了自己定制的手机操作系统 ColorOS 7.0 版本。目前包括海外市场在内&…

十年技术骨干面试被开出一万五薪资,直呼 “这是对我的侮辱”

老周是我十多年前认识的同事,2012年前后,老周到北京工作的第一个任务就是为公司的产品开发IOS APP。2012年底,老周已经能熟练的驾驭苹果的cocoatouch和android核心组件。也正因为如此,老周的薪水直接翻倍,当时已经拿到…

微信小程序---实现弹窗效果

第一步&#xff1a;点击按钮触发弹窗事件 <button class"btn" bindtap"btn">按钮</button> *** css样式 .btn{ position: fixed; bottom: 0; left: 0; } *** js btn(){ let delshow !this.data.delshow console.log(delshow) this.setD…

登录 Harbor response from daemon: Get “https://192.168.92.129/v2/“: x509: cannot validate certificate

文章目录1. 现象2. 解决方案3. 重新登陆1. 现象 [rootlocalhost harbor]# docker login 192.168.92.129 Username: admin Password: Error response from daemon: Get "https://192.168.92.129/v2/": x509: cannot validate certificate for 192.168.92.129 becaus…

基于Flink的超大规模在线实时反欺诈系统的建设与实践

作者&#xff1a;关贺宇 在大数据时代&#xff0c;金融科技公司通常借助消费数据来综合评估用户的信用和还款能力。这个过程中&#xff0c;某些中介机构会搜集大量的号并进行“养号”工作&#xff0c;即在一年周期里让这些号形成正常的消费、通讯记录&#xff0c;目的是将这些…

别再被 Python 洗脑了!!

Python 作为一种解释型技术脚本语言&#xff0c;越来越被认可为程序员新时代的风口语言。无论是刚入门的程序员&#xff0c;还是年薪百万的 BATJ 的技术大牛都无可否认&#xff1a;Python的应用能力是成为一名码农大神的必要项。 而作为Python初学者来讲&#xff0c;最大的问题…

任务不再等待!玩转DataWorks资源组

引言 DataWorks提供了三种资源组的能力&#xff1a;独享资源组、自定义资源组和默认资源组&#xff0c;很多开发者在使用资源组时经常会碰到各类情况&#xff0c;到时候任务运行失败或者延迟&#xff0c;例如&#xff1a;1. 正在使用默认资源组&#xff0c;任务经常要等待2.购…

微信小程序---实现输入手机验证码功能

*** html部分 <view classcontainer> <view classmain-title bindtap"test"> 输入短信验证码 </view> <view class"sub-title"> 已向<text class"phone">139****9999</text>发送验证码 </view> <…

Docker Harbor 2.3.4 集群 双主复制高可用镜像仓库

下面操作大部分是双节点同时执行一样的命令&#xff0c;不同的地方我会进行标注和特殊说明 文章目录一、环境准备1. 环境要求2. 节点总览3. 安装docker-compose二、安装harbor2.1. 下载2.2. 解压2.3. 调整配置2.4. 安装 harbor2.5. 效果验证三、Docker开启远程API3.1. 修改配置…

如何用Chrome读懂网站监测Cookie

作者 | 朱顺意责编 | 李雪敬出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;网站监测工具用于标识用户的 Cookie 分为第1方 Cookie 和第3方 Cookie&#xff0c;这两者本质上没有什么区别&#xff0c;只是身份不同。Cookie 有 Domain 属性&#xff0c;当 Coo…

DataWorks百问百答01:数据同步该用什么资源组

引子 很多用户在使用数据集成建立同步任务时&#xff0c;往往都会困惑一个设置&#xff0c;即“资源组设置”。 大家常有的疑问是“资源组是用来做什么的&#xff1f;跟网络之间什么关系&#xff1f;我该选择那种资源组&#xff1f;” 下面本文给您一个简要的介绍。 什么是资源…

在阿里,40岁的奋斗姿势

在阿里&#xff0c;40岁的奋斗姿势 在阿里&#xff0c;什么样的年纪可以称为老呢&#xff1f;35岁&#xff1f; 在云网络&#xff0c;有这样一群人&#xff0c;他们的平均年龄接近40&#xff0c;却刚刚开辟职业生涯的第二战场。 他们的奋斗姿势是什么样的呢&#xff1f; 洛神…

nginx配置多个conf文件

今天整理了下&#xff0c;在centos 7.6 系统下怎么配置多个conf文件。 step 1:在nginx.conf文件所在目录新建conf.d目录&#xff0c;即mkdir conf.d&#xff0c;为确保权限能够访问到 chmod 777 conf.dstep 2:编辑nginx.conf文件&#xff0c;内容为&#xff1a; #user nobody…

CPU有个禁区,内核权限也无法进入!

来源 | 编程技术宇宙封图 | CSDN 下载自视觉中国神秘项目我是CPU一号车间的阿Q&#xff0c;是的&#xff0c;我又来了。最近一段时间&#xff0c;我几次下班约隔壁二号车间虎子&#xff0c;他都推脱没有时间&#xff0c;不过也没看见他在忙个啥。前几天&#xff0c;我又去找他&…

Vue---淘宝镜像cnpm---安装vue-cli

1. 淘宝镜像命令 npm install -g cnpm --registryhttps://registry.npm.taobao.org 2. 安装vue-cli脚手架 npm install -g vue/cli 3.vue-cli脚手架更新 npm i -g vue/cli 4. 查看当前vue-cli版本号 vue -V

防删库实用指南 | 只需一步,快速召回被误删的表

数据库的一些非常不错的企业级功能都是“养兵千日&#xff0c;用兵一时”&#xff0c;比如Oracle 10g中的回收站&#xff08;Recycle Bin&#xff09;功能&#xff0c;可以在特殊情况下发挥特种兵的功能&#xff0c;比如当你删除一个表空间、一个用户&#xff08;Schema)时&…

智能化中的控制与自动化中的控制不同

智能化中的控制相对于自动化中的控制更加灵活、智能、综合和学习能力强。智能化控制系统能够根据实际情况进行自主决策和优化&#xff0c;适用范围更广&#xff0c;效果更好。 首先&#xff0c;智能化控制系统能够根据外部环境的变化和实时数据的反馈来自主调整和优化控制策略&…

Flink on Zeppelin (4) - 机器学习篇

今天我来讲下如何在 Zeppelin 里做机器学习。机器学习的重要性我就不多说了&#xff0c;我们直奔主题。 Flink 在机器学习这个领域发力较晚&#xff0c;社区版没有一个完整的机器学习算法库可以用&#xff0c;Alink[1]是目前 Flink 生态圈相对比较完整的机器学习算法库&#x…

docker yum 安装

文章目录一、安装docker1. 卸载旧版本2. 需要的安装包3. 设置镜像仓库4. yum更新软件包索引5. 安装docker-ce6. 启动docker7. 查看版本二、卸载docker2.1. 卸载docker2.2. 删除docker资源三、指定版本安装docker一、安装docker https://docs.docker.com/engine/install/centos…

解决Vue3创建项目后的Error: Cannot find module ‘vue-loader-v16/package.json‘问题

1. 卸载vue-loader-v16依赖 npm uninstall vue-loader-v16 2.使用cnpm安装vue-loader-v16依赖 cnpm i vue-loader-v16 最后npm run serve 重新启动项目