Docker:Harbor镜像仓库安装及使用

1. Harbor简介

Docker:Harbor镜像仓库安装及使用_第1张图片

Harbor(港口,港湾)是一个用于存储和分发Docker镜像的企业级Registry服务器。除了Harbor这个私有镜像仓库之外,还有Docker官方提供的Registry。相对Registry,Harbor具有很多优势:

  • 提供分层传输机制,优化网络传输 Docker镜像是是分层的,而如果每次传输都使用全量文件(所以
    用FTP的方式并不适合),显然不经济。必须提供识别分层传输的机制,以层的UUID为标识,确定
    传输的对象。
  • 提供WEB界面,优化用户体验 只用镜像的名字来进行上传下载显然很不方便,需要有一个用户界
    面可以支持登陆、搜索功能,包括区分公有、私有镜像。
  • 支持水平扩展集群 当有用户对镜像的上传下载操作集中在某服务器,需要对相应的访问压力作分
    解。
  • 良好的安全机制 企业中的开发团队有很多不同的职位,对于不同的职位人员,分配不同的权限,
    具有更好的安全性。

官网地址:https://goharbor.io/

2. Harbor安装

在安装Harbor之前,需要先安装Docker和docker-compose,安装教程可参考:《Docker入门,这里没有废话》。

Harbor下载地址:https://github.com/goharbor/harbor/releases,本教程使用的是:1.10.1版本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E80kD8nA-1590408705221)(assets/Harbor下载地址.png)]

github下载不是一般的慢,所以当然要非常贴心的给你们准备好百度云下载地址(提取码:wa3z)

2.1 上传并解压

tar -zxf harbor-offline-installer-v1.10.1.tgz 

2.2 修改配置

进入harbor目录,使用vim harbor.yml修改以下配置项:

hostname: 192.168.1.17
port: 85
###并把https注释掉,不然在安装的时候会报错:ERROR:root:Error: The protocol is https but attribute ssl_cert is not set
#https:
  #port: 443
  #certificate: /your/certificate/path
  #private_key: /your/private/key/path

2.3 安装

./prepare
./install.sh

2.4 启动

# 启动
docker-compose up -d
# 停止
docker-compose stop
# 重新启动
docker-compose restart

2.5 访问

浏览器访问http://192.168.1.17:85,默认账号和密码:admin/Harbor12345

Docker:Harbor镜像仓库安装及使用_第2张图片

3. 创建项目和用户

3.1 项目

Harbor的项目分为公开和私有的:

  • 公开项目:所有用户都可以访问,通常存放公共的镜像,默认有一个library公开项目。
  • 私有项目:只有授权用户才可以访问,通常存放项目本身的镜像。

这里,我们创建一个minimall私有项目:

Docker:Harbor镜像仓库安装及使用_第3张图片

3.2 用户

切换到系统管理->用户管理->新建用户。

Docker:Harbor镜像仓库安装及使用_第4张图片

3.3 给项目分配用户

Docker:Harbor镜像仓库安装及使用_第5张图片

4. 把镜像上传到harbor

  • 给镜像打上标签
docker tag docker-compose_registry-server 192.168.1.17:85/minimall/docker-compose_registry-server
  • 推送镜像
docker push 192.168.1.17:85/minimall/docker-compose_registry-server

如果是报以下错误,是因为Docker没有把Harbor加入信任列表。

The push refers to repository [192.168.1.17:85/minimall/docker-compose_registry-server]
Get https://192.168.1.17:85/v2/: http: server gave HTTP response to HTTPS client

  • 把harbor地址加入Docker信任列表
vim /etc/docker/daemon.json

{
	"registry-mirrors": ["https://zydiol88.mirror.aliyuncs.com"],
	"insecure-registries": ["192.168.1.17:85"]
}

重启docker即可。

  • 再次推送镜像,会提示权限不足

denied: requested access to the resource is denied

  • 权限不足,我们需要先登录harbor
docker login -u admin -p Harbor12345 192.168.1.17:85

Docker:Harbor镜像仓库安装及使用_第6张图片

  • 登录成功之后,再推送镜像

Docker:Harbor镜像仓库安装及使用_第7张图片

5. 从harbor下载镜像

从harbor下载镜像,要确保已经登录harbor。

docker pull 192.168.1.17:85/minimall/docker-compose_registry-server
——End——
更多精彩分享,可扫码关注微信公众号哦。

Docker:Harbor镜像仓库安装及使用_第8张图片

你可能感兴趣的:(技术栈/Docker,Docker,Harbor,镜像仓库)