Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。
 安装Harbor就可实现docker registry(私服)功能,所以不用额外自己拉镜像搭建,相反,如果搭建了,启动Harbor会提示错误。

 安装Harbor必须要求docker版本大于17.0,如果版本过低,请参考《卸载并重装docker》完成重装!

 本文是基于docker-compose方式进行启动harbor,所以需要先安装docker-compose,请参考《如何安装docker-compose》。

下载Harbor

将harbor-offline-installer-v1.10.4.tgz上传到/root。
在root目录下解压:

$ tar -zxvf harbor-offline-installer-v1.10.4.tgz

解压完成后,在/root下会有一个harbor目录:


进入harbor目录,编辑harbor.yml文件:

$ cd /root/harbor
$ vi harbor.yml


hostname可以改成域名,也可以改成虚拟机ip;
http port即为docker私服端口;
没有配置https必须要注释掉https配置;
harbor_admin_password为图形化界面管理员密码;
修改docker镜像配置:

$ vi /etc/docker/daemon.json
{
    "registry-mirrors":
    [
        "http://192.168.0.130",
        "http://hub-mirror.c.163.com",
        "http://hub-mirror.c.163.com",
        "https://registry.docker-cn.com"
    ],
    "insecure-registries": ["192.168.0.130"]
}

只有配置了insecure-registries,此地址才能用http访问,否则只能以https形式。

修改docker服务配置:

$ vi /usr/lib/systemd/system/docker.service

添加(方便docker-maven-plugin打包镜像推送):

-H tcp://0.0.0.0:2375 \
-H unix://var/run/docker.sock \


启动Harbor:

$ cd /root/harbor
$ ./install.sh

启动完成之后就可以用浏览器访问:
界面输入192.168.0.130

账户名:admin
密码:Harbor12345
主界面:

yl项目是我自己添加的,新建一个项目就是。

推拉镜像

我们本地有一个mysql的镜像:

推到私服里面需要先打tag,然后再push。
注意repository的名称需要为格式为:HOST[:port]/{project}/{image}
HOST表示主机,port表示端口,端口不是必要的,project表示在Harbor中项目的名称,images表示镜像名称。

打tag

$ docker tag mysql:5.7 192.168.0.130/yl/mysql:5.7


登录Harbor

$ docker login 192.168.0.130


push镜像

$ docker push 192.168.0.130/yl/mysql:5.7


完成之后就能在界面上看到镜像了。

pull镜像

$ docker pull 192.168.0.130/yl/mysql:5.7

Harbor用户管理

 界面上可以新建用户,在新建项目时,默认会将admin用户分配到项目中,所以能访问项目,但是如果新建的用户没有加入到项目,name这个用户是没有权限对这个项目进行操作的,比如推拉镜像。

Harbor常用命令

Harbor初次安装是用install.sh安装,它会下载自己运行需要的镜像。

针对harbor服务的启动和停止,可以使用以下docker-compose命令:

  • 停止服务
$ docker-compose down
  • 启动服务
$ docker-compose up [-d]

-d表示后台启动,[]表示参数不必要。

  • 查看已运行服务
$ docker-compose ps
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐