1. 下载离线的 harbor gz包

wget https://github.com/vmware/harbor/releases/download/v1.2.0/harbor-offline-installer-v1.2.0.tgz -O harbor-offline-installer-v1.2.0.tgz

2. 安装docker-compose

(1). 使用pip安装

使用 epel.repo 源

yum install python-pip 
pip install --upgrade pip

pip install docker-compose

(2). 使用 yum直接安装

yum install -y docker-compose

由于docker-compose 版本过高引起的,所有卸载,安装 1.7.1版本

卸载
[root@iZrj9ftygu3aq014t90o08Z harbor]# pip uninstall docker-compose [root@iZrj9ftygu3aq014t90o08Z harbor]# pip install docker-compose==1.7.

3. 解压进入到harbor 文件夹修改 hostname,其他配置可以不动

修改主机名

禁止harbor注册

4. 执行:  ./install

5. 访问

6. 维护操作

比如使用https,那么

关闭  docker-compose  down -v

修改 harbor配置文件,

运行 ./prepare

启动 : docker-compose up -d

######################################################################################################

harbor 配置https 登录,避免使用 在docker 配置文件中再次添加 -insecure-registry 参数

1. 生成证书

localdomain=docker.senyint.com

openssl req -nodes -subj "/C=CN/ST=BeiJing/L=ChaoYang/CN=$localdomain" -newkey rsa: -keyout $localdomain.key -out $localdomain.csr 

openssl x509 -req -days  -in $localdomain.csr -signkey $localdomain.key -out $localdomain.crt 

openssl x509 -req -in $localdomain.csr -CA $localdomain.crt -CAkey $localdomain.key -CAcreateserial -out $localdomain.crt -days 

2. harbor服务器进行操作  docker cert.d 目录建立 登录域名的文件夹,并且把ca拷贝到目录中

mkdir /etc/docker/certs.d/docker.senyint.com/
cp /data/cert/docker.senyint.com.crt /etc/docker/certs.d/docker.senyint.com/ca.crt

3.修改配置文件, 把http 修改成 https

hostname = docker.senyint.com

ui_url_protocol = https

db_password = root123

max_job_workers =  

customize_crt = off

ssl_cert = /data/cert/docker.senyint.com.crt
ssl_cert_key = /data/cert/docker.senyint.com.key secretkey_path = /data admiral_url = NA clair_db_password = password email_identity = email_server = smtp.mydomain.com
email_server_port =
email_username = sample_admin@mydomain.com
email_password = abc
email_from = admin <sample_admin@mydomain.com>
email_ssl = false harbor_admin_password = admin auth_mode = db_auth ldap_url = ldaps://ldap.mydomain.com ldap_basedn = ou=people,dc=mydomain,dc=com ldap_uid = uid ldap_scope = ldap_timeout = self_registration = on token_expiration = project_creation_restriction = everyone verify_remote_cert = on

[root@harbor harbor]# cd /data/harbor

[root@harbor harbor]# ./install

[root@harbor harbor]# docker login docker.senyint.com
Username: admin
Password:
Login Succeeded

查看保存的登录认证信息

[root@harbor docker.senyint.com]# cat /root/.docker/config.json
{
"auths": {
"docker.senyint.com": {
"auth": "YWRtaW46YWRtaW4="
}
}
}

测试上传镜像,先打tag , 注意一定要登录https://docker.senyint.com 建立项目名称

[root@harbor harbor]# docker tag photon:1.0 docker.senyint.com/senyint/photon:1.0
[root@harbor harbor]# docker pull docker.senyint.com/senyint/photon:1.0

docker服务器进行操作
1. docker cert.d 目录建立 登录域名的文件夹,并且把ca拷贝到目录中

[root@openfalcon_mysql docker.senyint.com]# mkdir /etc/docker/certs.d/docker.senyint.com/ 
[root@openfalcon_mysql docker.senyint.com]# scp docker.senyint.com:/etc/docker/certs.d/docker.senyint.com/ca.crt /etc/docker/certs.d/docker.senyint.com/ca.crt

2.登录一下docker.senyint.com 服务器,把认证信息保存在/root/.docker/config.json

[root@openfalcon_mysql docker.senyint.com]# docker login docker.senyint.com
Username: admin
Password:
Login Succeeded

3. 测试拉取镜像

[root@openfalcon_mysql docker.senyint.com]# docker pull docker.senyint.com/senyint/busybox
Using default tag: latest
Trying to pull repository docker.senyint.com/senyint/busybox ...
latest: Pulling from docker.senyint.com/senyint/busybox
fb46b04c527d: Pull complete
Digest: sha256:cb845cc8a7838ec7a4bcc3ace4084318773798c1bb8fe11b34b06204d8be9a9b

harbor 镜像删除与空间回收

1. 在管理页面裸机上删除镜像

2. 关闭harbor所有容器

docker-compose  stop

3. 查看registry 镜像

[root@ceonts-ceph- harbor]# docker images vmware/registry
REPOSITORY TAG IMAGE ID CREATED SIZE
vmware/registry 2.6.-photon c38af846a0da months ago 240MB

4. 查看要删除的镜像, /etc/registry/config.yml  没有这个文件

docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.-photon garbage-collect --dry-run /etc/registry/config.yml

5. 删除镜像

docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.-photon garbage-collect  /etc/registry/config.yml

6. 查看/data/registry大小

7. 启动镜像

docker-compose  start

私有仓库harbor安装包括https的更多相关文章

  1. Kubernetes-5:搭建企业级私有仓库Harbor

    搭建企业级私有仓库Harbor 安装需求 python版本 >= 2.7 Docker引擎版本 >= 1.10 docker-compose版本 >= 1.6.0 安装环境 一.Py ...

  2. Kubernets二进制安装(5)之私有仓库harbor搭建

    在IP地址为192.168.80.50,机器名为mfyxw50上搭建私有仓库harbor harbor下载地址: harbor下载连接地址:https://github.com/goharbor/ha ...

  3. 菜鸟系列docker——搭建私有仓库harbor(6)

    docker 搭建私有仓库harbor 1. 准备条件 安装docker sudo yum update sudo yum install -y yum-utils device-mapper-per ...

  4. Docker 私有仓库 Harbor registry 安全认证搭建 [Https]

    Harbor源码地址:https://github.com/vmware/harborHarbort特性:基于角色控制用户和仓库都是基于项目进行组织的, 而用户基于项目可以拥有不同的权限.基于镜像的复 ...

  5. 搭建私有仓库Harbor

    搭建Harbor企业级docker仓库   搭建Harbor企业级docker仓库 一.Harbor简介 1.Harbor介绍 Harbor是一个用于存储和分发Docker镜像的企业级Registry ...

  6. docker 私有仓库 harbor docker-compose

    c创建docker私有仓库 docker pull registry:2.1.1 mkdir /opt/registry#mkdir /var/lib/registry docker run -d - ...

  7. 物联网架构成长之路(44)-Docker私有仓库Harbor

    0. 前言 安装docker.docker-compose,这些在我以前的博客讲过,这里就不继续说明了,有需要的可以参考我之前的博客. https://www.cnblogs.com/wunaozai ...

  8. 企业级Docker私有仓库Harbor

    一.Harbor简介 1.Harbor介绍 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源Docke ...

  9. 微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像

    ❝ 目录: 微服务探索之路01篇.net6.0项目本地win10系统docker到服务器liunx系统docker的贯通 微服务探索之路02篇liunx ubuntu服务器部署k8s(kubernet ...

随机推荐

  1. python可视化基础

    常用的python可视化工具包是matplotlib,seaborn是在matplotlib基础上做的进一步封装.入坑python可视化,对有些人来说如同望山跑死马,心气上早输了一节.其实学习一门新知 ...

  2. mybatis-plus的集成与使用

    Mybatis-Plus: Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发.提高效率而生. 官方网站:http://m ...

  3. vue+element ui 的上传文件使用组件

    前言:工作中用到 vue+element ui 的前端框架,使用到上传文件,则想着封装为组件,达到复用,可扩展.转载请注明出处:https://www.cnblogs.com/yuxiaole/p/9 ...

  4. centos7下更新firefox

    下载最新版firefox 1.点击三条线-问号-firefox帮助-安装和更新-linux安装-系统和语言下载 保存到指定目录,比如home下 2.解压 tar xjf firefox-*.tar.b ...

  5. 动态We API(ABP官方文档翻译)

    动态Web API层 创建动态Web API控制器 ForAll方法 重写ForAll ForMethods Http动词 WithVerb方法 HTTP特性 命名约定 API管理器 RemoteSe ...

  6. Ubuntu VNC 打开spyder无法输入(检测不到键盘配置)解决方法

    在ubuntu中安装好spyder后, 打开spyder发现无法输入. 在打开spyder的终端窗口,有如下提示: QXcbConnection: Failed to initialize XRand ...

  7. AR中的SLAM(一)

    写在前面 本系列打算讲讲个人对AR行业和AR中的SLAM算法的一点浅显的看法.才疏学浅,文中必然有很多疏漏和不足,还望能和大家多多讨论.今天先讲讲我对AR的一些认识. AR的一点理解 AR是什么 AR ...

  8. 例如android:layout_marginBottom的值为负数

    为什么有时候像android:layout_marginBottom等变量的赋值为负数? 例如如下代码: <?xml version="1.0" encoding=" ...

  9. 树莓派发射FM波——搭建私人小电台

    树莓派的应用十分广泛,有很多奇思妙想的应用非常有趣,在这里我们想实现一个小电台的功能,但是在这里需要说明,私人架设电台是违法行为,所以本案只作为自我娱乐所用,不能发射大功率的信号干扰正常的FM频段. ...

  10. ES6-let & const

    let和const命令 let 它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. for(let i = 0; i < arr.length; i++){} 用let命 ...