docker 私有仓库应用之Harbor1.4部署

  • docker 私有仓库应用之Harbor1.4部署已关闭评论
  • 122 views
  • A+
所属分类:docker

Harbor 是 Vmwar 公司开源的 企业级的 Docker Registry 管理项目

它主要 提供 Dcoker Registry 管理UI,可基于角色访问控制, AD/LDAP 集成,日志审核等功能,完全的支持中文。

Harbor 的所有组件都在 Dcoker 中部署,所以 Harbor 可使用 Docker Compose 快速部署。

Harbor具有如下特点:

  1. 基于角色的访问控制 - 用户与Docker镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。
  2. 镜像复制 - 镜像可以在多个Registry实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。
  3. 图形化用户界面 - 用户可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间。
  4. AD/LDAP 支持 - Harbor可以集成企业内部已有的AD/LDAP,用于鉴权认证管理。
  5. 审计管理 - 所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。
  6. 国际化 - 已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来。
  7. RESTful API - RESTful API 提供给管理员对于Harbor更多的操控, 使得与其它管理软件集成变得更容易。
  8. 部署简单 - 提供在线和离线两种安装工具, 也可以安装到vSphere平台(OVA方式)虚拟设备。

Harbor 获取地址

  1. Harbor中文官网:https://vmware.github.io/harbor/cn/
  2. Github地址:https://github.com/vmware/harbor
  3. Harbor下载地址:https://github.com/vmware/harbor/releases
  4. 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,如下:

docker 私有仓库应用之Harbor1.4部署

输入用户名,密码就可以登录了,用户名admin,密码就是harbor.cfg文件中的harbor_admin_password 的值,如图:

docker 私有仓库应用之Harbor1.4部署

好了,到处我们的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

好了,现在我们在浏览器管理端创建个项目,如下:

docker 私有仓库应用之Harbor1.4部署

确定后,下来我们再到终端命令行将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了,如图:

docker 私有仓库应用之Harbor1.4部署

好了,到这里,harbor部署完成。

下来我们说一下解决多点(国内外)部署镜像库同步的问题。

docker 私有仓库应用之Harbor1.4部署

我这里配置了两个harbor

IP 1=10.99.11.73

IP 2=10.99.11.75

我们现在将73上刚刚push的mysql镜像复制到76上

73上面点击到tools中,选中要同步的镜像,点击新建规则,如图:

docker 私有仓库应用之Harbor1.4部署

进入到新建规则页面,如下:

docker 私有仓库应用之Harbor1.4部署

点击新增,填写75的登录信息,如图:

docker 私有仓库应用之Harbor1.4部署

docker 私有仓库应用之Harbor1.4部署

点击保存后,就可以到复制任务中看到同步状态,如图:

docker 私有仓库应用之Harbor1.4部署

看到状态变成完成后,登录到75上观察一下,如图:

docker 私有仓库应用之Harbor1.4部署

好了,到处就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

 

 

 

 

 

 

  • 安卓客户端下载
  • 微信扫一扫
  • weinxin
  • 微信公众号
  • 微信公众号扫一扫
  • weinxin
avatar