入门Docker企业级仓库-Harbor
一、what(是什么?)
Harbor是构建企业级私有docker镜像的仓库的开源解决方案。它是Docker Registry的更高级封装。
二、why(为什么要使用它?)
作为 一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。
- 提升用户使用 Registry 构建和运行环境传输镜像的效率。
- Harbor 支持安装在多个Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中, 确保数据和知识产权在公司内部网络中管控。
- Harbor 也提供了高级的安全特性, 诸如用户管理,访问控制和活动审计等。
三、Harbor详解
- proxy :前端代理,主要是分发前端页面ui访问和镜像上传和下载流量;
- ui :web管理页面,包括一个前端页面和后端API,底层使用mysql数据库;
- registry :镜像仓库,负责存储镜像文件,当镜像上传完毕后通过hook通知ui创建repository, registry的token认证也是通过ui组件完成;
- adminserver :系统的配置管理中心附带检查存储用量,ui和jobserver启动时候需要加载 adminserver的配置;
- jobsevice :负责镜像复制工作的,他和registry通信,从一个registry pull镜像push到另一个 registry,并记录job_log;
- log :日志汇总组件,通过docker的log-driver把日志汇总到一起。
四、安装部署
1、环境准备
安装好docker、docker-compose
2、安装部署
1、安装docker-compose
Docker Compose是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用。 使用 compose,我们可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创 建和启动。
# yum install -y docker docker-compose
# systemctl start docker
# systemctl enable docker
2、下载Harbor
[root@docker ~]# wget https://storage.googleapis.com/harbor-releases/release1.9.0/harbor-offline-installer-v1.9.1.tgz
[root@docker ~]# tar xf harbor-offline-installer-v1.9.1.tgz -C /usr/local
3、修改配置文件
[root@docker ~]# cd /usr/local/harbor/
[root@docker harbor]# vim harbor.cfg
...
hostname: 192.168.10.11
...
4、安装
[root@docker harbor]# ./install.sh
5、访问测试
用户名:admin 密码:看配置文件(harbor.cfg)
6、测试上传镜像
1、创建一个项目
先登录harbor的Web界面,创建一个项目 这个项目就相当于公司中不同的项目组,每个项目组分别 管理各自的项目镜像,后期该项目不需要时,可直接删除该项目。
2、给镜像打个标签
[root@localhost]# docker tag busybox 192.168.10.129/text1/busybox
3、登录镜像库
# docker login 192.168.10.129
如果出现这种情况:
Error response from daemon: Get https://192.168.10.129/v2/: dial tcp 192.168.10.129:443: connect: connection refused
a、修改配置文件 /etc/systemd/system/multi-user.target.wants/docker.service
b、重启docker
systemctl daemon-reload
systemctl restart docker
c、# docker-compose down 关闭harbor
# docker-compose up –d 启动harbor
4、上传镜像
# docker push 192.168.10.129/text1/centos