CentOS7 安装Harbor1.1.2

xiaoxiao2021-02-28  56

前言

Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率[1]。 说白了就是方便自己将项目中使用的公共的Docker 镜像放到Harbor下进行管理,方便版本更新和维护,减少网络流量。 目前网络上关于Harbor的文章时间都比较早了,而且Harbor已经更新到1.1.2版本了,同时Docker今年3月做了版本重命名,基于这个新版本的完整安装文档没有,刚好最近搭建一个Harbor,因此总结了这个文档,与各位共勉之。


Docker版本变更

Docker在3月份的时候推出了企业版,docker的版本号也发生了翻天覆地的变化。版本也从1.13.x一跃到17.03。 版本变成了社区版(CE,Community Edition)和企业版(EE,Enterprise Edition)。

版本举例说明月度版本Edge 版本(17.03, 17.04, 17.05…)每个月一个版本号季度版本Stable 版本(17.03, 17.06, 17.09…)可以理解为第三个月的版本号

企业版(EE) 和 Stable 版本号保持一致,每个版本提供一年维护,官方说明图。

官方文章《ANNOUNCING DOCKER ENTERPRISE EDITION》


版本要求

名称版本或者时间文档时间2017/07/08CentOS7(1611)Docker17.06.0Docker-Compose1.14.0Python2.7.5(系统自带)Harbor1.1.2

安装说明

CentOS7自己安装,这个没什么好说明的。我的IP是192.168.0.209。 其他的都会详细介绍如何安装,安装的说明基本来自于官方文档。

systemctl 这个命令需要了解一下,如果没用过CentOS7需要看看。 这篇文章《 Centos7下的systemctl命令与service和chkconfig》有详细的介绍。

接下来会安装docker,docker-compose,harbor. python使用的是系统自带的,达到harbor的要求了。因此就没有从新安装。


1:安装Docker

我的这个安装方式是按照官网的文档进行的,因为采用了新的版本结构,而且是月度更新,因此对于Docker来讲升级就变的非常重要。 因此,首先建立一个仓库,然后在进行安装。

- 建立仓库

建立本地仓库,这个目的就是为了Docker的版本升级。 安装需要的包。

# sudo yum install -y yum-utils device-mapper-persistent-data lvm2

安装yum-utils因为需要 yum-config-manager工具。 安装device-mapper-persistent-data 和 lvm2 因为需要 devicemapper 存储驱动

# sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo

使用上面的命令建立Stable仓库,Stable这个仓库总是需要的,即使你想从edge或者testing仓库安装更新。

- 可选执行

启用edge仓库

# sudo yum-config-manager --enable docker-ce-edge

启用testing仓库

# sudo yum-config-manager --enable docker-ce-testing

使用–disable关闭仓库

Note:

从17.06开始,Stable版本也被push到edge和testing仓库。

- 安装Dcoker CE

更新yum的index。

#sudo yum makecache fast

安装最新版本的Docker CE

#sudo yum install docker-ce

Warning: 如果启用了多个不同的Docker仓库,在安装或者更新时没有指定一个版本,将会默认安装最新的版本,最好不要这么做!

正确的姿势是每次更新需要指定具体的版本。

#yum list docker-ce.x86_64 --showduplicates | sort -r

列出当前可用的docker版本信息

docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-edge docker-ce.x86_64 17.06.0.ce-1.el7.centos @docker-ce-edge docker-ce.x86_64 17.05.0.ce-1.el7.centos docker-ce-edge docker-ce.x86_64 17.04.0.ce-1.el7.centos docker-ce-edge docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable

列出了所有,第二列是版本的信息,第三列是仓库的信息。 利用下面的命令安装特定的版本

# sudo yum install docker-ce-17.06.0.ce-1.el7.centos

启动Docker

#sudo systemctl start docker

验证docker是否正确安装

#sudo docker run hello-world

- 更新Docker 这个操作的过程和安装的过程是一样的。 首先运行

#sudo yum makecache fast

安装指定版本的Docker

# sudo yum install docker-ce-17.06.0.ce-1.el7.centos

2:安装Docker-Compose

执行下面的命令安装compose 首先进入这个页面查看当前的版本。 https://github.com/docker/compose/releases/

下载

#curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

实际下载了一个文件 修改文件的可执行权限

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

Test the installation.

#docker-compose --version

docker-compose version 1.14.0, build 1719ceb

3:安装Harbor

下载Harbor 选择目前最新版本1.1.2 https://github.com/vmware/harbor/releases

我选择的是online版本,两种版本基本上差不多。 https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-online-installer-v1.1.2.tgz

解压

#tar xvf harbor-online-installer-v1.1.2.tgz

配置 在解压后的路径下,找到harbor.cfg进行修改

harbor.cfg中的参数包含两个类型,一个是必须设置,一个是可选设置。 必须设置的参数是必须在cfg文件中进行参数设置的,可以使用默认值,但是必须被设置,否则会无法启动。 可选设置的参数,在cfg文件中可以设置,也可以删除或者注释,不进行设置,不影响启动。

必须设置的参数

参数描述hostname服务器的名称,如果访问UI和注册服务,需要通过这个。可以是IP地址(192.168.0.209),或者是完整的域名(reg.youdomain.com)。不要使用localhost或者127.0.0.1,因为服务需要被其他的机器访问。db_password:mysql数据的密码。customize_crton或者off。默认是on。当这个属性是on的时候,prepare脚本为registry’s token 创建私有key和根证书。如果属性是off的时候,是有key和根证书将有外部资源提供。了解更多请看《Customize Key and Certificate of Harbor Token Service》ssl_certSSL证书的位置,只有当协议设置成https的时候,这个属性生效ssl_cert_keySSL秘钥的位置,只有当协议设置成https的时候这个属性生效。secretkey_path加密解密的密码文件路径

还有一些可选的设置 具体描述参考官方文档,这里不进行赘述了。

安装 官方文档内容

#sudo ./install.sh

直接执行会提示

[root@192 harbor]# sudo ./install.sh [Step 0]: checking installation environment … Note: docker version: 17.06.0 ✖ Need to install docker-compose(1.7.1+) by yourself first and run this script again.

需要换成另外一种安装方法。

#sudo ./prepare

[root@192 harbor]# ./prepare Generated and saved secret to file: /data/secretkey Generated configuration file: ./common/config/nginx/nginx.conf Generated configuration file: ./common/config/adminserver/env Generated configuration file: ./common/config/ui/env Generated configuration file: ./common/config/registry/config.yml Generated configuration file: ./common/config/db/env Generated configuration file: ./common/config/jobservice/env Generated configuration file: ./common/config/jobservice/app.conf Generated configuration file: ./common/config/ui/app.conf Generated certificate, key file: ./common/config/ui/private_key.pem, cert file: ./common/config/registry/root.crt The configuration files are ready, please use docker-compose to start the service.

然后在执行

#docker-compose up -d

启动这个后,我们是online版本,提示下载很多东西。时间有点长,慢慢等待。 ● harbor-log ● harbor-adminserver ● harbor-ui ● registry ● harbor-db ● harbor-jobservice ● nginx 到这里,我们应该看清楚了,实际上harbor就是利用docker-compose进行管理Dokcer的一个UI系统。 最后输出 Creating harbor-log … Creating harbor-log … done Creating registry … Creating harbor-db … Creating harbor-adminserver … Creating harbor-db Creating registry Creating registry … done Creating harbor-ui … Creating harbor-ui … done Creating harbor-jobservice … Creating nginx … Creating harbor-jobservice Creating harbor-jobservice … done

完成后

http://192.168.0.209/ 正常访问 用户名:admin 密码:Harbor12345 可以执行如下的命令进行停止和启动

停止

#docker-compose stop

启动

#docker-compose start

结尾

到目前位置Harbor已经安装完成。 目前这个安装是没有包含Notary 如果需要包含Notary请看《官方文档》

后续有时间回写一个Harbor的简单使用教程。

参考文章

[1]https://vmware.github.io/harbor/cn/ [2]https://github.com/vmware/harbor/blob/master/docs/installation_guide.md [3]http://blog.csdn.net/felix_yujing/article/details/54694294

转载请注明原文地址: https://www.6miu.com/read-65923.html

最新回复(0)