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. Myeclipse安装与破解

    安装包+破解包 链接:https://pan.baidu.com/s/1G4mYsTOMDixyr2UmdqqY5A 提取码:a2n8 红色框框内的是安装包,蓝色框框内的是破解包 安装过程中比较简单, ...

  2. @valid注解

    今天发现一个非常好用的注解直接上代码: 实体类domain: @Column(name = "NAME") @NotNull @Size(min = 2,max = 50) pri ...

  3. Anychart隐藏属性

    一.嵌入字体的使用 font标签可以使用嵌入字体,只需加入embed="true"即可.

  4. Hibernate(二)持久化对象的状态

    简介 以前学习Hibernate的笔记,整理一下便发出来了,防止弄丢.有错误的话麻烦各位留言评论,感激不尽. 持久化类 Hibernate完成了从面向对象模型表示的对象至关系模型表示的数据结构的映射, ...

  5. MySQL 报错

    SELECT COUNT(1) FROM (select tid from teacher where tname like '李%') 1248 - Every derived table must ...

  6. python学习之老男孩python全栈第九期_day017作业

    1. 三级菜单的代码看一遍 2. 斐波那契数列用递归实现:问第n个斐波那契数是多少 def fbnq(n): if n == 0 or n == 1: return 1 else: return fb ...

  7. JS基础(二)

    21.标准事件模型的事件类型(包括4个子模块) HTMLEvents:接口为Event,支持的事件类型包括abort.blur.change.error.focus.load.resize.scrol ...

  8. mac os idea的快捷键

    全局搜索:shift+command+f 搜索类:command+o 光标向前向后移动:command+option+(左/右) 删除一行: command+delete

  9. button的OnClickListener的三种实现方法

    onclick事件的定义方法,分为三种,分别为在xml中进行指定方法:在Actitivy中new出一个OnClickListenner():实现OnClickListener接口三种方式. 代码分别如 ...

  10. Dlink DIR-823G 漏洞挖掘过程

    前言 本文由 本人 首发于 先知安全技术社区: https://xz.aliyun.com/u/5274 初步分析 首先下载固件 https://gitee.com/hac425/blog_data/ ...