docker+harbor—搭建Docker私有仓库

一、Harbor介绍

Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内 的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。

二、Harbor特性

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

三、环境配置

1.安装docker

[root@server1 docker]# ls
container-selinux-2.21-1.el7.noarch.rpm  pigz-2.3.4-1.el7.x86_64.rpm
docker-ce-18.06.1.ce-3.el7.x86_64.rpm    policycoreutils-2.5-17.1.el7.x86_64.rpm
libsemanage-2.5-8.el7.x86_64.rpm         policycoreutils-python-2.5-17.1.el7.x86_64.rpm
libsemanage-python-2.5-8.el7.x86_64.rpm
[root@server1 ~]# systemctl start docker.service 

2.下载docker-compose,放在/usr/local/bin/docker-compose目录下

[root@server1 ~]# cd compose/
[root@server1 compose]# ls
docker-compose-Linux-x86_64-1.16.1  docker-compose-Linux-x86_64-1.22.0
[root@server1 compose]# cp docker-compose-Linux-x86_64-1.22.0 /usr/local/bin/docker-compose
[root@server1 ~]# chmod +x /usr/local/bin/docker-compose/

测试:

[root@server1 compose]# docker-compose --version
docker-compose version 1.22.0, build f46880fe

3.安装harbor

1)解压安装包

下载链接:https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.6.1.tgz

[root@server1 ~]# tar xvf harbor-offline-installer-v1.7.0.tgz 

2) 配置harbor目录下的harbor.cfg

[root@server1 ~]# cd harbor/
[root@server1 harbor]# ls
[root@server1 harbor]# vim harbor.cfg 

## Configuration file of Harbor

# hostname设置访问地址,可以使用ip、域名,不可以设置为127.0.0.1或localhost,此处我设置为本地ip
#默认是80端口,如果端口占用,我们可以去修改docker-compose.yml文件中,对应服务的端口映射。
  8 hostname = 172.25.60.1

# Harbor启动后,管理员UI登录的密码,默认是Harbor12345
 69 harbor_admin_password = Harbor12345


# 认证方式,这里支持多种认证方式,如LADP、本次存储、数据库认证。默认是db_auth,mysql数据库认证
 73 auth_mode = db_auth

# 是否开启自注册
116 self_registration = on

# Token有效时间,默认30分钟
119 token_expiration = 30

3)启动 Harbor

  • 修改完配置文件后,在的当前目录执行./install.sh,Harbor服务就会根据当期目录下的docker-compose.yml开始下载依赖的镜像,检测并按照顺序依次启动各。
  • 重启harbor也可以用这个脚本

docker+harbor—搭建Docker私有仓库_第1张图片

docker+harbor—搭建Docker私有仓库_第2张图片

4)查看Harbor依赖的镜像及启动服务如下:

[root@server1 harbor]# docker images

docker+harbor—搭建Docker私有仓库_第3张图片

查看compose状态(此命令在harbor目录下执行):

[root@server1 harbor]# docker-compose ps

docker+harbor—搭建Docker私有仓库_第4张图片

 启动服务:

[root@server1 harbor]# docker-compose start

docker+harbor—搭建Docker私有仓库_第5张图片

5) 访问Web Harbor

启动完成后,我们访问刚设置的hostname即可 http://172.16.50.37,默认是80端口,如果端口占用,我们可以去修改docker-compose.yml文件中,对应服务的端口映射。

 

你可能感兴趣的:(运维项目)