容器第一天学习之-docker之Harbor企业级镜像仓库

 

Harbor概述

Harbor是由VMWare公司开源的容器镜像仓库,事实上,Harbor是在docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用。

这些新的企业级特性包含:管理用户界面,基于角色的访问控制,AD/LDAP集成,审计日志等,足以满足企业的基本需求

 

官方地址:https://vmware.github.io

 

Harbor组件:

  1. harbor-adminserver:配置管理中心
  2. harbor-db:Mysql数据库
  3. harbor-jobservice:负责镜像复制
  4. harbor-log:记录操作日志
  5. harbor-ui:Web管理页面和API
  6. nginx:前端代理,负责前端页面和镜像上传/下载转发
  7. redis:会话保持
  8. registry:镜像存储

 

Harbor安装有3种方式:

  1. 在线安装:从Docker Hub下载Harbor相关镜像,因此安装软件包非常小
  2. 离线安装:安装包包含部署的相关镜像,因此安装包比较大
  3. OVA安装程序:当用户具有vCenter环境时,使用此安装程序,在部署OVA后启动Harbo

 

 

Harbor部署

这边部署是采用离线安装,安装包事先下载好的

 

解压harbor压缩包

 

tar -zxvf harbor-offline-installer-v1.6.1.tgz
cd harbor

 

在harbor里面有几个比较重要的文件

prepare:部署前的准备工作脚本

install.sh:安装脚本

harbor.cfg:harbor的主配置文件

docker-compose.yml:docker-compose的配置文件,因为harbor需要安装docker-compose

 

安装docker-compose

第一种方式安装(官方的安装方式)

curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

##如果网络不好,推荐第二种安装

第二种办法安装(离线安装,事先下载好)

cp -a docker-compose-Linux-x86_64 /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose

 

安装先,修改harbor.cfg配置文件

vim harbor.cfg

hostname = 192.168.31.180

##修改这行为IP地址或域名

 

安装harbor

 

./prepare
./install.sh

 

测试harbor是否成功

docker-compose ps

       Name                     Command                  State                                    Ports                              
-------------------------------------------------------------------------------------------------------------------------------------
harbor-adminserver   /harbor/start.sh                 Up (healthy)                                                                   
harbor-db            /entrypoint.sh postgres          Up (healthy)   5432/tcp                                                        
harbor-jobservice    /harbor/start.sh                 Up                                                                             
harbor-log           /bin/sh -c /usr/local/bin/ ...   Up (healthy)   127.0.0.1:1514->10514/tcp                                       
harbor-ui            /harbor/start.sh                 Up (healthy)                                                                   
nginx                nginx -g daemon off;             Up (healthy)   0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp, 0.0.0.0:80->80/tcp
redis                docker-entrypoint.sh redis ...   Up             6379/tcp                                                        
registry             /entrypoint.sh /etc/regist ...   Up (healthy)   5000/tcp

 

 

进入web界面

本地IP就可以直接进入

默认账号:admin

默认密码:Harbor12345

 

 

 

harbor的简单实例

 

创建用户

用户管理-->创建用户

 

 

创建项目

项目-->新建项目

 

给用户授权新建的项目

项目-->qqkj-->成员-->+用户

 

 

配置http镜像仓库信任

 

修改daemon.json文件配置

vim /etc/docker/daemon.json 

{"registry-mirrors": ["http://f1361db2.m.daocloud.io"],
"insecure-registries":["192.168.31.105"]
}
或
{"insecure-registries":["reg.ctnrs.com"]}

##第一条,是因为我事先有配置了docker的加速器

 

重启docker

systemctl restart docker

 

启动harbor的组件

docker-compose up -d

 

给要上传的镜像打标签

如果不打标签,会默认上传到docker的公共镜像仓库中

docker tag nginx:1 192.168.31.180/qqkj/nginx:v1

 

登录认证harbor仓库

帐号密码是harbor仓库新创建的账号

docker login 192.168.31.105

 

上传镜像到harbor仓库中

docker push 192.168.31.105/qqkj/nginx:v1

 

从harbor仓库拉取镜像

docker pull 192.168.31.1065/qqkj/nginx:v1

 

 

 

发表评论:

共有 0 条评论

 Top