安装Harbor管理镜像服务
Harbor是什么?
还记得Docker Registry么?它是Docker官方提供的镜像仓库,简单易用,一键就可以部署、使用。
虽然看起来不错,但是Registry有些问题需要解决:
- 没有图形界面
- 没有用户权限控制
- 看不到镜像操作记录
- 仓库内镜像管理难度大,容易造成空间浪费
卖了个关子,基于Registry现有的问题,VMWare公司开发了Harbor,用来完善Registry的功能,
使用Harbor,你可以:
- 按项目管理镜像
- 明确记录用户对镜像仓库项目的操作,包含create、push 、delete,甚至pull!
- 有图形界面
- 有用户管理,可以针对项目进行细粒度的权限控制
- 仓库内的镜像可以在图形界面删除与复制,垃圾清理!
- 可以同步已有镜像仓库的镜像
- 有仓库管理 暂时没太关注这是干嘛用的
- API控制中心!
放几张效果图:
搭建步骤
- 安装Docker、Docker-compose
- 下载Harbor离线包
- 配置harbor.yml
- 运行 ./install.sh
安装Docker、Docker-compose
安装docker
配置非root用户免sudo使用docker,立即生效
sudo usermod -aG docker 要使用的用户名 && newgrp docker
安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose #赋执行权限
下载Harbor离线包
在Github上的仓库地址https://github.com/goharbor/harbor/releases
这里我们下载最新的release v1.8.2版本
[v1.8.2离线版下载链接]https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.2.tgz
离线版本相对于online版本,区别是它们都是使用的Docker镜像与Docker-compose工具,不同的是
- 离线包中包含了所有需要的镜像导出包
- 在线包中只包含简单的配置文件
离线包占内存比较大,差不多五百多兆,因为我们公司一般是内网的线上环境,这里就直接下载离线包了,您可以选择自己喜欢或需要的版本,以下使用离线包演示
可以直接用命令下载
wget -P /usr/local/src https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.2.tgz
这里直接下载到了/usr/local/src中
配置harbor.yml
先进入刚才下载到的目录,解压离线包到/usr/local/harbor下
cd /usr/local/src
tar zxf harbor-offline-installer-v1.8.2.tgz -C /usr/local/
cd /usr/local/harbor/
配置harbor.yml vim harbor.yml
, 这里包含必要参数与可选参数,这里只记录下必要参数
必要参数
- hostname:访问的Harbor服务的IP或域名(UI与命令行操作同样生效),不要使用
localhost
、127.0.0.1
或0.0.0.0
- data_volume: Harbor中的数据挂载对应宿主机的位置,如/home/harbor/data
- harbor_admin_password: admin管理员密码,默认管理员账号/密码为admin/Harbor12345
- database: Harbor内部的数据库
- password: 数据库密码
- max_idle_conns: 连接池最大保持空闲数
- max_open_conns: 同时最大开启的连接数
- jobservice:作业相关的服务
- max_job_workers: 最大作业worker数
- log: 日志相关
- level:日志输出等级
- local:本地日志保留相关
- rotate_count: 日志文件在移除之前的旋转次数 Log files are rotated rotate_count times before being removed. If count is 0, old versions are removed rather than rotated.
- rotate_size: 日志保持大小,超出部分会删除旧日志
- location: 存储日志的路径
- external_endpoint:开启此选项,将会把日志转发到syslog服务中
- protocol:转发协议,默认TCP
- host: syslog服务的ip
- port: syslog服务监听的端口号
必要参数基本就这些,如果想配置更仔细些,请参考Github
运行 ./install.sh
cd /usr/local/harbor
./install.sh #运行安装脚本
查看下用到哪些容器 docker-compose ps
到此安装完成
测试与使用Harbor
访问hostname处配置的IP
登录即可访问了,这里使用就不多说了,点点就了解个七七八八了
docker login 与 push 测试
接下来测试下,使用docker push到这个仓库中
推荐再准备一台虚拟机,如果没有的话,可以先在/usr/local/harbor目录下执行
docker-compose down -v
关闭harbor各容器
推送镜像到非https的仓库时,都需要设置非安全的仓库,vim /etc/docker/daemon.json
,如图大家参考下
主要是
{
"insecure-registries": ["192.168.87.139:80"]
}
我这里之前配置了另一个镜像仓库,这里大家看看就好
需要注意的是:刚才配置的hostname后需要写明80端口,如果是域名则不需要
改好后,重启docker服务systemctl restart docker
登录仓库
docker login 192.168.87.139:80
初次登录需要使用用户名与密码,这个是在Harbor用户管理中配置的,admin用户拥有最高权限
这里用本地java:latest镜像举例
#重新tag方能推送
docker tag java:latest 192.168.87.139:80/library/java:latest
#推送镜像
docker push 192.168.87.139:80/library/java:latest
去Harbor的UI界面 -> 项目 -> library
我们点开library/java,可以查看具体的tags
删除本地刚才tag的镜像,我们pull下来试试
#删除本地镜像
docker rmi 192.168.87.139:80/library/java:latest
#pull Harbor镜像仓库中的镜像
docker pull 192.168.87.139:80/library/java:latest
一切正常,后续自我去配置下可选的配置就可以了。
关闭Harbor服务
cd /usr/local/harbor
docker-compose down -v
删除/卸载Harbor
先参考上一小节关闭Harbor服务,关闭Harbor
rm -rf /usr/local/harbor
rm -rf /usr/local/src/harbor
删除镜像这块就需要使用docker rmi
了,这里就不多说了,刚才docker-compose ps
时有显示用到哪些镜像
后记
本来打算暂时不更新博客的,现在工作需要去看看镜像仓库相关的内容,输出文档,这里就一口气全写出来了,先这样。
本文系Hellxz学习与实践文章,禁止布布扣、码迷、爱码网等第三方爬虫网站爬取,转载请在醒目位置注明出处:https://www.cnblogs.com/hellxz/p/install_harbor.html
安装Harbor管理镜像服务的更多相关文章
- Harbor管理镜像
安装Harbor管理镜像服务 阅读目录 Harbor是什么? 搭建步骤 安装Docker.Docker-compose 下载Harbor离线包 配置harbor.yml 运行 ./install. ...
- 安装harbor私有镜像仓库
有朋友安装harbor的过程中遇到很多问题,为此写一篇最简单安装harbor的文档,希望能帮助所有刚开始接触harbor的新手.harbor的架构不做探究. 实验验环境:os --> cento ...
- 第十三篇 一个安装、管理windows服务的桌面程序
在网上看到一个修改程序入口的程序去把windows 服务修改成控制台的程序,然后利用控制台的程序把服务安装和管理,也想起自己原来也写了一个对windows 报务管理的程序,不过是winform的. ...
- Linux 安装 Harbor 私有镜像仓库
下载 最新发行:https://github.com/goharbor/harbor/releases # 下载文件 wget https://github.com/goharbor/harbor/r ...
- Windows下开启composer镜像服务来安装yii
网上关于使用composer的安装教程挺多的,但是作为新手的我,觉得好凌乱,不断尝试后,终于安装好了.最后总结出,用开启composer的镜像服务来安装yii是最好的啦,当然,归档文件的做法有利有弊就 ...
- Harbor私有镜像仓库(上)
上图配置为工作环境 特别注意:win10现在不允许使用私有ca证书,到时登录浏览器会失败,可以选用火狐浏览器. 创建自己的CA证书 openssl req -newkey rsa:4096 -node ...
- OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 4.镜像服务(glance)
节点配置信息说明: 控制节点:controller: IP:192.168.164.128 hostname&hosts:likeadmin 计算加点:Nova: IP:192.168.164 ...
- [ Openstack ] OpenStack-Mitaka 高可用之 镜像服务(glance)
目录 Openstack-Mitaka 高可用之 概述 Openstack-Mitaka 高可用之 环境初始化 Openstack-Mitaka 高可用之 Mariadb-Galera集群 ...
- DOCKER学习_016:Docker镜像仓库和HARBOR的简单安装和管理
一 镜像仓库介绍 1.1 简介 镜像仓库用于存放 Docker镜像 Docker registry提供镜像仓库服务 一个 Docker registry可以包含多个镜像仓库 仓库分为公共镜像仓库与私有 ...
随机推荐
- mvnjar包冲突解决方法
命令 mvn dependency:tree -Dverbose 结果: [INFO] +- com.esotericsoftware:kryo:jar:4.0.2:test [INFO] | +- ...
- 给你的SpringBoot做埋点监控--JVM应用度量框架Micrometer
JVM应用度量框架Micrometer实战 前提 spring-actuator做度量统计收集,使用Prometheus(普罗米修斯)进行数据收集,Grafana(增强ui)进行数据展示,用于监控生成 ...
- springboot集成redis实现消息发布订阅模式-双通道(跨多服务器)
基础配置参考https://blog.csdn.net/llll234/article/details/80966952 查看了基础配置那么会遇到一下几个问题: 1.实际应用中可能会订阅多个通道,而一 ...
- Eureka 缓存结构以及服务感知优化
目录 Eureka-Client获取注册信息 Eureka-Server管理注册信息 服务感知优化 果然好记性不如烂笔头,再简单的东西不记录下来总是会忘的! 本文首先会分析eureka中的缓存架构.并 ...
- Cocos Creator经典游戏制作之:信使(The Messenger)
版权声明: 本文原创发布于博客园"优梦创客"的博客空间(网址:http://www.cnblogs.com/raymondking123/)以及微信公众号"优梦创客&qu ...
- warpAffine仿射变换
仿射变换,其实就是不同的坐标系的相互转换,用于图像的平移和旋转. 首先看一下官方的api描述. https://docs.opencv.org/2.4/modules/imgproc/doc/geom ...
- Ansible实践总结
Ansible playbook 根据条件动态设置变量 首先新建 inventory,主机列表如下: node-01 ansible_host=192.168.64.30 node-02 ansibl ...
- 随笔编号-07 JS针对时间操作
//获取完整的当前日期 var date=new Date; var year=date.getFullYear(); var month=date.getMonth()+1; month =(mon ...
- MySQL之主从同步
一.主从同步概念 1.1 什么是主从同步? MySQL 主从同步是指将数据从一个 MySQL 数据库服务器主节点复制到一个或多个从节点.MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器 ...
- 使用JDBC驱动程序处理元数据
使用 JDBC 驱动程序处理元数据 一.前言 Java 通过JDBC获得连接以后,得到一个Connection 对象,可以从这个对象获得有关数据库管理系统的各种信息,包括数据库中的各个表,表中的各个列 ...