Docker私服-Habor

本文详细介绍了Harbor作为Docker镜像仓库在生产环境中的应用,包括其角色访问控制、图形化界面、安全特性、安装步骤、docker绑定以及镜像的推送和拉取操作。
摘要由CSDN通过智能技术生成

image

Docker私服-Habor

三 Harbor私服

1. 场景

在实际生产运维中,往往需要把镜像发布到几十、上百台或更多的节点上。这时单台Docker主机上镜像已无法满足,项目越来越多,镜像就越来越多,都放到一台Docker主机上是不行的。需要一个仓库统一管理镜像。

2. 引言

Harbor英文港口的意思,Docker镜像是一个鲸鱼拖着集装箱,寓意:用来管理停靠 Docker镜像

Habor是由VMWare公司开源的容器镜像仓库Registry(Docker-Hub)。 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,由VMware开源。

3. 功能

(1) 基于角色访问控制

在企业中,通常有不同的开发团队负责不同的项目,镜像像代码一样,每个人角色不同需求也不同,因此就需要访问权限控制,根据角色分配相应的权限。

例如,开发人员需要对项目构建这就用到读写权限(push/pull),测试人员只需要读权限(pull),运维一般管理镜像仓库,具备权限分配能力,项目经理具有所有权限。

(2) 图形化界面

用户可以通过浏览器查看、检索当前Docker镜像仓库,并可进行管理项目和命名空间的操作;

(3) 镜像删除和空间回收

Harbor支持在Web删除镜像,回收无用的镜像,释放磁盘空间。

(4) 安全审计

所有针对镜像仓库的操作都可以被记录追溯,用于审计管理;

(5) RESI API

可以通过java代码实现内部功能管理。完整的API,方便与外部集成。

(6) 部署简单

harbor安装部署简单。

4. 安装要求

(1) 硬件要求

资源最小要求推荐配置
CPU2 CPU4 CPU
Mem4 GB8 GB
Disk40 GB160 GB

(2) 软件要求

软件版本号
docker17.06.0 及以上
docker-compose1.18.0 及以上
openssl

(3) 网络端口要求

端口协议描述
443httpshttps端口,可以从配置文件中修改
4443https当notary打开时使用,否则不需要使用,可以通过配置文件修改
80httphttp端口,可以从配置文件中修改

5. 安装

(1) 安装docker

(2) 安装docker-compose

1. 安装扩展yum源
yum install -y epel-release
yum makecache fast
2. 安装docker-compose
yum install -y docker-compose

3. 验证docker-compose
[root@localhost ~]# docker-compose -v
docker-compose version 1.18.0, build 8dd22a9

(3) 离线安装解压harbor

tar zxvf harbor-offline-installer-v2.5.3.tgz -C /opt/installs/

(4) 修改配置 harbor.yml

前提:将harbor.yml.tmpl文件改为harbor.yml

(5) 初始化配置

1. 修改harbor的域名或者ip
hostname: 192.168.127.100


2. 网络连接harbor使用http协议端口
http:
  port: 99
  
3. 如果不适用https,注释
# https:
#   # https port for harbor, default is 443
#   port: 443
#   # The path of cert and key files for nginx
#   certificate: /your/certificate/path
#   private_key: /your/private/key/path


4. 登录harbor的超级管理员密码
harbor_admin_password: *******

(6) 安装

./install.sh

(7) 检验

查看所有harbor程序

docker-compose ps

(8) 故障处理

如果有容器的状态不是up运行状态,查看harbor日志

/var/log/harbor

(9) 访问

1. 地址
http://harbor的ip:99
2. 超级管理员登录
用户名:admin
密码:配置的密码

6. docker绑定

(1) 修改/etc/docker/daemon.json

{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
  "insecure-registries": ["192.168.199.51:88"] /*harbor的ip:端口*/
}

(2) 重启docker引擎

systemctl daemon-reload
systemctl restart docker

(3) 使用docker-compose重启harbor所有容器

注意:必须在harbor解压文件夹下面,docker-compose.yml文件位置。执行命令。

1. 关闭
docker-compose down -v
2. 启动
docker-compose up -d

7. 项目和角色

看视频演示

8. push推送镜像

假设有app-server和mysql两个镜像,属于cms项目,推送镜像成品。

(1) 给镜像打上tag(harbor)

命令:docker tag 镜像名:tag harbor的ip:端口/项目名/镜像名:tag

1. 给app-server:1.0打标签
2. 给mysql:5.7打标签

(2) 登录私服

命令:docker login harbor的ip:端口


[root@localhost harbor]# docker login 192.168.127.100:99
Username: admin
Password:

(3) 推送镜像

命令:docker push 带harbor前缀的镜像:tag

1. 推送app-server
[root@localhost harbor]# docker push 192.168.127.100:99/cms/app-server:1.0

2. 推送mysql
[root@localhost harbor]# docker push 192.168.127.100:99/cms/mysql:5.7-1

9. pull拉取镜像

docker pull xxxxx

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值