什么是 harbor?
第一次使用这个的时候是刚进公司处理的第一个任务的时候,发现 harbor 就是一个用于存储和分发 docker 镜像的企业级registry 服务器。
网上找到一个 harbor 的架构图:
harbor 是 vmware 公司开源的企业级 dockerregistry 项目,项目地址为 https://github.com/vmware/harbor。其目标是帮助用户迅速搭建一个企业级的 docker registry 服务。它以 docker 公司开源的 registry 为基础,提供了管理ui,基于角色的访问控制(role based access control),ad/ldap集成、以及审计日志(auditlogging) 等企业用户需求的功能,同时还原生支持中文。harbor 的每个组件都是以 docker 容器的形式构建的,使用 docker compose 来对它进行部署。
环境准备
1、自己在腾讯云买的服务器(centos7.3)
2、docker 版本:17.05.0-ce
3、docker-compose:1.17.1
4、harbor:1.1.2
安装 docker
因为系统是 centos 7.3 ,内核啥的都已经是 3.10,所以不用担心内核升级的问题,一些操作啥的在 7.x 上操作也很方便。
修改 docker 配置文件 /etc/default/docker 如下:
使用 service docker restart 重启 docker 服务即可。
或者用官方提供的方式:
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://ef017c13.m.daocloud.io[/code]
安装 docker-compose
如果是想直接命令安装也行,
下载指定版本的docker-compose
[code]
sudo curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose对二进制文件赋可执行权限
测试下docker-compose是否安装成功
出现如下
但是,这种方法简直龟速,幸好还有种方法,
见这里:https://docs.docker.com/compose/install/#install-compose
这种需要通过 python 的 pip 安装
安装 pip
安装 docker compose
安装 harbor
解压缩之后,进入目录下会看到 harbor.cfg 文件,该文件就是 harbor 的配置文件。
启动 harbor,修改完配置文件后,在的当前目录执行./install.sh,harbor服务就会根据当期目录下的docker-compose.yml开始下载依赖的镜像,检测并按照顺序依次启动各个服务。
启动完成后,我们访问刚设置的 hostname 即可,http://115.159.227.249/,默认是80端口,如果端口占用,我们可以去修改docker-compose.yml文件中,对应服务的端口映射。
登录 web harbor , 输入用户名 admin,默认密码(或已修改密码)登录系统。
我们可以看到系统各个模块如下:
项目:新增/删除项目,查看镜像仓库,给项目添加成员、查看操作日志、复制项目等
日志:仓库各个镜像create、push、pull等操作日志
系统管理
用户管理:新增/删除用户、设置管理员等 复制管理:新增/删除从库目标、新建/删除/启停复制规则等 配置管理:认证模式、复制、邮箱设置、系统设置等其他设置
用户设置:修改用户名、邮箱、名称信息 修改密码:修改用户密码注意:非系统管理员用户登录,只能看到有权限的项目和日志,其他模块不可见。
我们要尝试下能不能把自己 docker 里面的镜像 push 到 harbor 的 library 里来(默认这个 library 项目是公开的,所有人都可以有读的权限,都不需要 docker login 进来,就可以拉取里面的镜像)。
注意:
为了后面留坑,我这里先 在自己的 docker.service 中添加仓库:(这是个坑,建议你先按照我说的做,不然下面可能会一直登录不上)
添加完了后重新启动 docker:
启动 docker 服务:
登录:(为了测试下能否登录成功)
打 tag 并 push
上传完毕后,登录web harbor,选择项目 library,就可以看到我刚 push 的镜像了。
同理,你也可以测试下从 harbor pull 镜像到你的 docker 中去,这里就不继续演示了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.54tianzhisheng.cn/2017/11/26/Docker-harbor/