- A+
Harbor 是 Vmwar 公司开源的 企业级的 Docker Registry 管理项目
它主要 提供 Dcoker Registry 管理UI,可基于角色访问控制, AD/LDAP 集成,日志审核等功能,完全的支持中文。
Harbor 的所有组件都在 Dcoker 中部署,所以 Harbor 可使用 Docker Compose 快速部署。
Harbor具有如下特点:
- 基于角色的访问控制 - 用户与Docker镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。
- 镜像复制 - 镜像可以在多个Registry实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。
- 图形化用户界面 - 用户可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间。
- AD/LDAP 支持 - Harbor可以集成企业内部已有的AD/LDAP,用于鉴权认证管理。
- 审计管理 - 所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。
- 国际化 - 已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来。
- RESTful API - RESTful API 提供给管理员对于Harbor更多的操控, 使得与其它管理软件集成变得更容易。
- 部署简单 - 提供在线和离线两种安装工具, 也可以安装到vSphere平台(OVA方式)虚拟设备。
Harbor 获取地址
- Harbor中文官网:https://vmware.github.io/harbor/cn/
- Github地址:https://github.com/vmware/harbor
- Harbor下载地址:https://github.com/vmware/harbor/releases
- Harbor二进制离线包镜像站点:http://harbor.orientsoft.cn/
我这里下载的是 harbor-offline-installer-v1.4.0.tgz
安装前准备
系统版本 centos7
安装docker
详情请看 基于容器安装运行Docker私有仓库及添加认证 ,具体命令如下:
#systemctl disable firewalld && systemctl stop firewalld #rpm -ivh docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm #rpm -ivh docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm #vi /usr/lib/systemd/system/docker.service 修改为ExecStart=/usr/bin/dockerd --insecure-registry=10.99.11.73 ------------ip写自己的ip但是不要写127.0.0.1 #systemctl daemon-reload #systemctl restart docker
安装docker-compose
# yum -y install epel-release # yum -y install python-pip # pip install docker-compose # docker-compose -version
下载注册库镜像
#docker pull registry:2
安装harbor
#tar zxvf harbor-offline-installer-v1.4.0.tgz #cd harbor #sed -i "s/^hostname = reg.mydomain.com/hostname = 10.99.11.73/g" harbor.cfg #./install.sh
安装成功后,如下:
Creating registry ... done Creating harbor-ui ... done Creating network "harbor_harbor" with the default driver Creating nginx ... done Creating harbor-db ... Creating harbor-adminserver ... Creating registry ... Creating harbor-ui ... Creating harbor-jobservice ... Creating nginx ... ✔ ----Harbor has been installed and started successfully.---- Now you should be able to visit the admin portal at http://10.99.11.73. For more details, please visit https://github.com/vmware/harbor .
安装完成后通过浏览器访问http://10.99.11.73,如下:
输入用户名,密码就可以登录了,用户名admin,密码就是harbor.cfg文件中的harbor_admin_password 的值,如图:
好了,到处我们的harbor搭建完成。
下来我们是用docker login登录,如下:
[root@node1 harbor]# docker login 10.99.11.73
Username: admin
Password:
Login Succeeded
下来我们做个测试,我们拉取个mysql镜像,如下:
[root@node1 harbor]# docker pull mysql:5.6
5.6: Pulling from library/mysql
2a72cbf407d6: Pull complete
38680a9b47a8: Pull complete
4c732aa0eb1b: Pull complete
c5317a34eddd: Pull complete
f92be680366c: Pull complete
6762c4c3eacc: Pull complete
7f9e7799488e: Pull complete
5bfede7d51ce: Pull complete
4d58e230ee6f: Pull complete
e83cf84d215b: Pull complete
9a02cf99f495: Pull complete
Digest: sha256:a85722079680fb21afc4ce5c7a2cb51fa6d9793efe1c6d3da0e94a2aa9fedac4
Status: Downloaded newer image for mysql:5.6
拉取完成后,我们查看一下本地的镜像:
[root@node1 harbor]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql 5.6 079344ce5ebd 6 days ago 256 MB vmware/clair-photon v2.0.1-v1.4.0 a1df3526fe43 6 weeks ago 300 MB vmware/notary-server-photon v0.5.1-v1.4.0 3edfddb8ece2 6 weeks ago 211 MB vmware/notary-signer-photon v0.5.1-v1.4.0 cc70a05cdb6a 6 weeks ago 209 MB vmware/registry-photon v2.6.2-v1.4.0 8920f621ddd1 6 weeks ago 198 MB vmware/nginx-photon v1.4.0 20c8a01ac6ab 6 weeks ago 135 MB vmware/harbor-log v1.4.0 9e818c7a27ab 6 weeks ago 200 MB vmware/harbor-jobservice v1.4.0 29c14d91b043 6 weeks ago 191 MB vmware/harbor-ui v1.4.0 6cb4318eda6a 6 weeks ago 209 MB vmware/harbor-adminserver v1.4.0 8145970fa013 6 weeks ago 182 MB vmware/harbor-db v1.4.0 c38da34727f0 6 weeks ago 521 MB vmware/mariadb-photon v1.4.0 8457013cf6e3 6 weeks ago 521 MB vmware/postgresql-photon v1.4.0 59aa61520094 6 weeks ago 221 MB vmware/harbor-db-migrator 1.4 7a4d871b612e 2 months ago 1.15 GB vmware/photon 1.0 9b411d78ad9e 2 months ago 130 MB
好了,现在我们在浏览器管理端创建个项目,如下:
确定后,下来我们再到终端命令行将image的名字修改为格式:userip/项目名/image名字:版本号
[root@node1 harbor]# docker tag mysql:5.6 10.99.11.73/tools/mysql:5.6 [root@node1 harbor]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE 10.99.11.73/tools/mysql 5.6 079344ce5ebd 6 days ago 256 MB mysql 5.6 079344ce5ebd 6 days ago 256 MB vmware/clair-photon v2.0.1-v1.4.0 a1df3526fe43 6 weeks ago 300 MB vmware/notary-server-photon v0.5.1-v1.4.0 3edfddb8ece2 6 weeks ago 211 MB vmware/notary-signer-photon v0.5.1-v1.4.0 cc70a05cdb6a 6 weeks ago 209 MB vmware/registry-photon v2.6.2-v1.4.0 8920f621ddd1 6 weeks ago 198 MB vmware/nginx-photon v1.4.0 20c8a01ac6ab 6 weeks ago 135 MB vmware/harbor-log v1.4.0 9e818c7a27ab 6 weeks ago 200 MB vmware/harbor-jobservice v1.4.0 29c14d91b043 6 weeks ago 191 MB vmware/harbor-ui v1.4.0 6cb4318eda6a 6 weeks ago 209 MB vmware/harbor-adminserver v1.4.0 8145970fa013 6 weeks ago 182 MB vmware/harbor-db v1.4.0 c38da34727f0 6 weeks ago 521 MB vmware/mariadb-photon v1.4.0 8457013cf6e3 6 weeks ago 521 MB vmware/postgresql-photon v1.4.0 59aa61520094 6 weeks ago 221 MB vmware/harbor-db-migrator 1.4 7a4d871b612e 2 months ago 1.15 GB vmware/photon 1.0 9b411d78ad9e 2 months ago 130 MB
下来我们把打好标签的镜像push到Harbor
[root@node1 harbor]# docker push 10.99.11.73/tools/mysql:5.6
The push refers to a repository [10.99.11.73/tools/mysql]
9a7b794df6bd: Pushed
65e2d467b9b8: Pushed
f94f4a91e6bb: Pushed
8395b068a02c: Pushed
82627e25b494: Pushed
005bcb4c7683: Pushed
fbb39c7dedaf: Pushed
55d5d837463a: Pushed
f0f28cc0eea1: Pushed
813996252a80: Pushed
3358360aedad: Pushed
5.6: digest: sha256:8705592af17c3e84a78a9310b240079bc7044b8c3c67368278a1a5c456a36372 size: 2621
下来我们登录到管理端,点开tools项目,就可以看到刚刚上传的image了,如图:
好了,到这里,harbor部署完成。
下来我们说一下解决多点(国内外)部署镜像库同步的问题。
我这里配置了两个harbor
IP 1=10.99.11.73
IP 2=10.99.11.75
我们现在将73上刚刚push的mysql镜像复制到76上
73上面点击到tools中,选中要同步的镜像,点击新建规则,如图:
进入到新建规则页面,如下:
点击新增,填写75的登录信息,如图:
点击保存后,就可以到复制任务中看到同步状态,如图:
看到状态变成完成后,登录到75上观察一下,如图:
好了,到处就ok了
如果使用https的话,通过如下命令生成公私钥
openssl req -nodes -subj "/C=CN/ST=Shanxi/L=XiAn/CN=10.209.3.81" -newkey rsa:2048 -keyout 10.209.3.81.key -out 10.209.3.81.csr openssl x509 -req -days 3650 -in 10.209.3.81.csr -signkey 10.209.3.81.key -out 10.209.3.81.crt openssl x509 -req -in 10.209.3.81.csr -CA 10.209.3.81.crt -CAkey 10.209.3.81.key -CAcreateserial -out 10.209.3.81.crt -days 10000
然后harbor.cfg中修改证书路径和访问方式设置成https
- 安卓客户端下载
- 微信扫一扫
- 微信公众号
- 微信公众号扫一扫