CentOS版本:7.4

Harbor版本:1.5.0

Docker版本:1.12.6

Docker Compose版本:1.21.2

一、安装Harbor(http方式,80端口)

1、安装Docker

(1)搜索docker

[root@node3 ~]# yum search docker

(2)安装docker

[root@node3 ~]# yum install -y docker

(3)启动命令

[root@node3 ~]# systemctl start docker

(4)查看状态

[root@node3 ~]# systemctl status docker

(5)查看版本

[root@node3 ~]# docker version

(6)查看docker信息

[root@node3 ~]# docker info

(7)开机启动

[root@node3 ~]# systemctl enable docker

2、安装Docker Compose

(1)下载文件

curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

(2)添加可执行权限

chmod +x /usr/local/bin/docker-compose

3、下载Harbor离线安装文件

wget https://storage.googleapis.com/harbor-releases/release-1.5.0/harbor-offline-installer-v1.5.0.tgz

4、解压Harbor离线安装文件

Harbor安装路径:/root/local/harbor

tar zxf harbor-offline-installer-v1.5.0.tgz -C /root/local

5、修改harbor.cfg

cd /root/local/harbor

vim harbor.cfg

修改hostname为本机IP地址

#The IP address or hostname to access admin UI and registry service.

#DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.

hostname = 10.72.77.176

6、执行准备命令

./prepare

7、执行安装命令

./install.sh

8、访问网址

http://10.72.77.176

二、安装Harbor(https方式,80端口)

1、停止第一步安装好的Harbor容器

docker-compose down -v

2、SSL证书配置

官网配置说明:

https://github.com/vmware/harbor/blob/master/docs/configure_https.md

(1)生成根证书

a. 创建证书存放目录

mkdir -p /data/cert && cd /data/cert

b. 创建自己的CA证书(不使用第三方权威机构的CA来认证,自己充当CA的角色)

openssl genrsa -out ca.key 2048   #生成根证书私钥(无加密)

openssl req -x509 -new -nodes -key ca.key -days 10000 -out ca.crt -subj "/CN=Harbor-sz"

req     产生证书签发申请命令

-x509   签发X.509格式证书命令。X.509是最通用的一种签名证书格式。

-new    生成证书请求-key     指定私钥文件-nodes   表示私钥不加密

-out    输出-subj    指定用户信息 -days    有效期

(2)生成服务器端证书

a. 生成服务器端私钥和CSR签名请求

openssl req -newkey rsa:4096 -nodes -sha256 -keyout server.key -out server.csr

b. 签发服务器证书

echo subjectAltName = IP:10.72.77.176 > extfile.cnf

openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.cnf -out server.crt

x509           签发X.509格式证书命令。

-req           表示证书输入请求。

-days          表示有效天数  -extensions    表示按OpenSSL配置文件v3_req项添加扩展。

-CA            表示CA证书,这里为ca.crt

-CAkey         表示CA证书密钥,这里为ca.key

-CAcreateserial表示创建CA证书序列号

-extfile      指定文件

3、修改harbor.cfg

vim harbor.cfg

#The IP address or hostname to access admin UI and registry service.

#DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.

hostname = 10.72.77.176

#The protocol for accessing the UI and token/notification service, by default it is http.

#It can be set to https if ssl is enabled on nginx.

ui_url_protocol = https

#The path of cert and key files for nginx, they are applied only the protocol is set to https

ssl_cert = /data/cert/server.crt

ssl_cert_key = /data/cert/server.key

4、设置docker证书

# 如果如下目录不存在,请创建,如果有域名请按此格式依次创建

mkdir -p /etc/docker/certs.d/10.72.77.176

# 如果端口为443,则不需要指定。如果为自定义端口,请指定端口

# /etc/docker/certs.d/yourdomain.com:port

# 将ca根证书依次复制到上述创建的目录中

cp /data/cert/ca.crt /etc/docker/certs.d/10.72.77.176/

5、再次执行安装命令

/install.sh

6、访问网址

https://10.72.77.176

三、安装Harbor(https方式,7000端口)

在公网上,一般情况下都不暴露默认端口,避免被攻击!

以下修改harbor的默认80端口为其他端口!

这里示例修改为7000端口!

注意:以下步骤都是在harbor安装目录下操作!!!

cd /root/local/harbor

1、修改docker-compose.yml文件映射为7000端口

vim docker-compose.yml

proxy:

image: vmware/nginx-photon:1.11.13

container_name: nginx

restart: always

volumes:

- ./common/config/nginx:/etc/nginx:z

networks:

- harbor

ports:

- :80

- 443:443

- 4443:4443

2、执行准备命令

./prepare

 

3、修改common/templates/registry/config.yml文件

vim common/templates/registry/config.yml

auth:

token:

issuer: harbor-token-issuer

realm: $ui_url/service/token

rootcertbundle: /etc/registry/root.crt

service: harbor-registry

4、修改common/config/registry/config.yml文件

vim common/config/registry/config.yml

auth:

token:

issuer: harbor-token-issuer

realm: https://10.72.77.176/service/token

rootcertbundle: /etc/registry/root.crt

service: harbor-registry

5、修改docker配置文件,设置信任的主机与端口

注意:如果https端口使用的默认443的话,这里只要配置IP地址,不需要带端口号

vim /etc/docker/daemon.json

{

"insecure-registries": [

"10.72.77.176"

]

}

6、重新启动docker

systemctl daemon-reload

systemctl restart docker.service

7、停止harbor,重新启动并生成配置文件

docker-compose stop

./install.sh

最后,测试验证:

# docker login 10.72.77.176:7000

Username: admin

Password:

Login Succeeded

ok,完成!

四、常用命令

先进入harbor安装目录

cd /root/local/harbor

1、常规操作

暂停harbor (docker容器stop,并不删除容器)

docker-compose stop

恢复harbor (恢复docker容器运行)

docker-compose start

停止harbor ( 停止并删除docker容器)

docker-compose down -v

启动harbor (启动所有docker容器)

docker-compose up -d

2、修改运行配置

# 停止 harbor

docker-compose down -v

# 修改配置

vim harbor.cfg

# 执行./prepare已更新配置到docker-compose.yml文件

./prepare

# 启动 harbor

docker-compose up -d

3、主要目录

日志目录 /var/log/harbor

数据目录 /data

其中最主要是 /data/database 和 /data/registry 目录,如果你要彻底重新安装harbor,删除这两个目录即可。

CentOS安装Harbor的更多相关文章

  1. CentOS 安装 Harbor的简单过程(仅使用http 未使用https)

    1. 下载离线安装包 在线安装 99% 会失败, 建议还是使用离线安装包 下载地址 https://github.com/vmware/harbor/releases 20180719 时最新版本的g ...

  2. 安装harbor私有镜像仓库

    有朋友安装harbor的过程中遇到很多问题,为此写一篇最简单安装harbor的文档,希望能帮助所有刚开始接触harbor的新手.harbor的架构不做探究. 实验验环境:os --> cento ...

  3. debian8安装harbor

    这里的系统版本是debian8.8,harbor版本为1.1.2. 1.安装docker-ce 1.1.Install packages to allow apt to use a repositor ...

  4. 安装Harbor管理镜像服务

    Harbor是什么? 还记得Docker Registry么?它是Docker官方提供的镜像仓库,简单易用,一键就可以部署.使用. 虽然看起来不错,但是Registry有些问题需要解决: 没有图形界面 ...

  5. CentOS部署Harbor镜像仓库

    关于Harbor Harbor是用于存储和分发Docker镜像的镜像仓库服务,相比Docker Registry,Harbor在安全.标识.管理等方面做了增强,更适合企业使用: 官方网站:https: ...

  6. 纯净CentOS搭建harbor镜像私仓

    物理宿主机IP:  192.168.1.4 在官网下载 CentOS-7-x86_64-DVD-1810 用Hyper-v建立一代虚机,安装时遇分辨率问题无法继续,需要在选择启动界面按TAB键以编辑启 ...

  7. docker-compose安装harbor

    目录 Harbor 安装环境说明 获取安装包(离线安装方式) 安装harbor 用docker-compose查看Harbor容器的运行状态 Harbor访问测试 上传镜像到Harbor服务器 Har ...

  8. CentOS安装gitlab,gerrit,jenkins并配置ci流程

    CentOS安装gitlab,gerrit,jenkins并配置ci流程 By Wenbin juandx@163.com 2016/4/9 这是我参考了网上很多的文档,配置了这三个软件在一个机器上, ...

  9. 【推荐】CentOS安装Subversion-1.8.11+HTTP协议支持配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 我们需要搭建一个自己的SVN服务器. 此外,搭建好的SVN服务器除了需要支持svn协议外,最好还需要支持HTTP协议和HTTPS协 ...

随机推荐

  1. django-多表操作2

    #######多表操作二######## 昨天写了基于双下划线查找,都是两个表之间查找,那再多跨几个表呢?还是一样,一步一步分析 # 跨多表查询: 查询红楼梦这本书的作者的电话: (Author,Bo ...

  2. webpack中使用vue

    1.安装vue cnpm i install -S 2.由于在 webpack 中,推荐使用 .vue 的文件模板文件定义组件 , 所以 ,需要安装 能解析这种文件的 loader cnpm i vu ...

  3. php第三节(运算符)

    <?php //算术运算符 + - * / % //++ 前加加 先做加运算后座赋值运算 后加加 先做赋值运算后座加运算 //-- 前减减 先做加运算后座赋值运算 后减减 先做赋值运算后座加运算 ...

  4. <逆向学习第二天>如何手动脱UPX、Aspack壳

    UPS.AsPack压缩壳介绍: UPX .AsPack是一款先进的可执行程序文件压缩器.压缩过的可执行文件体积缩小50%-70% ,这样减少了磁盘占用空间.网络上传下载的时间和其它分布以及存储费用. ...

  5. python selenuim如何判断下拉框是否加载出来,超过时间不再等待

    s_flag = True time_start = time.time() while s_flag: doc = etree.HTML(unicode.encode(driver.page_sou ...

  6. Firewalld共享上网及本地yum仓库搭建

    1.firewalld共享上网 1.服务端操作(有外网的服务器) 1.开启防火墙并加入开机自启动 [root@zeq ~]# systemctl start firewalld [root@zeq ~ ...

  7. javascript--BOM的onload事件和onunload事件

    1.onload事件 onload,页面加载后执行,所谓页面加载完成,指页面上所有的元素创建完毕,引用的所有的外部资源(js.css.图片)等下载完毕. 所以onload执行的比较晚,因为如果页面上有 ...

  8. 【Linux】Nginx无法加载.woff .eot .svg .ttf问题解决

    只需要修改Nginx的vhosts.ini,加上以下代码即可修复该问题 location ~ \.(eot|otf|ttf|woff|woff2|svg)$ { add_header Access-C ...

  9. Python的scrapy学习心得

    scrapy框架是Python爬虫的一个使用起来不错的框架,通过这个框架可以很快的爬出自己想要的数据 官方的定义是如下的图片,其实看不太懂 在平常使用这个框架的时候,主要用三部分,spider爬虫主体 ...

  10. centos编译安装rabbitmq

    安装环境 [root@VM_12_50_centos rabbitmq]# uname -a Linux VM_12_50_centos 3.10.0-514.21.1.el7.x86_64 #1 S ...