当前位置: 首页 > news >正文

搭建企业级docker仓库—Harbor

一、简介

docker 官方提供的私有仓库 registry,用起来虽然简单 ,但在管理的功能上存在不足。 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,harbor使用的是官方的docker registry(v2命名是distribution)服务去完成。harbor在docker distribution的基础上增加了一些安全、访问控制、管理的功能以满足企业对于镜像仓库的需求。

二、安装

2.1、环境

linux centos8
192.168.182.152

2.2、下载地址:
可以在GitHub上下载离线安装包:

地址:https://github.com/goharbor/harbor/releases

下载可能会很慢,可以从我的百度云下载:

链接:https://pan.baidu.com/s/1mvLMFFPuR7fHv_AfUK2Rhw
提取码:8888

2.3、安装docker-compose(Harbor是通过docker compose来部署的)
1)配置阿里的epel源

# 这里我下载的是centos8的,根据不同环境下载不同的版本
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/Centos-8.repo

2)安装并升级Python-pip

$ yum install python3-pip
$ pip3 install --upgrade pip

3)安装docker-compose

$ pip3 install docker-compose

4)查看docker-compose版本

$ docker-compose --version

2.4、解压下载的安装包

$ mkdir -p /opt/harbor
$ mv harbor-offline-installer-v2.3.1.tgz /opt/harbor/
$ cd /opt/harbor
$ tar -xvf harbor-offline-installer-v2.3.1.tgz

2.4、修改配置文件harbor.conf

$ cd /opt/harbor/harbor
# 拷贝一个配置文件
$ cp harbor.yml.tmpl harbor.yml
# 创建持久化数据目录
$ mkdir -p /opt/harbor/data

完整配置harbor.yml

#由于配置太多,我就把空行和注释去掉了
$ grep -v '^$\|#' harbor.yml

只改了hostname、data_volume,把https注释掉,如果需要配置https可以保留,我这里只使用http,其它默认就行。

hostname: 192.168.182.152 # 修改成自己的机器的ip
http:port: 80
#https:
#  port: 443
#  certificate: /your/certificate/path
#  private_key: /your/private/key/path
harbor_admin_password: Harbor12345 # admin密码
database:password: root123max_idle_conns: 100max_open_conns: 900
data_volume: /opt/harbor/data # 持久化数据目录
trivy:ignore_unfixed: falseskip_update: falseinsecure: false
jobservice:max_job_workers: 10
notification:webhook_job_max_retry: 10
chart:absolute_url: disabled
log:level: infolocal:rotate_count: 50rotate_size: 200Mlocation: /var/log/harbor
_version: 2.3.0
proxy:http_proxy:https_proxy:no_proxy:components:- core- jobservice- trivy

2.5、安装并启动Harbor

$ ./install.sh

安装完成后查看下正在运行的docker容器:

$ docker ps

img

2.6、访问harbor WEB界面

http://192.168.182.152/
账号/密码:admin/Harbor12345

img

img

三、Harbor的使用(上传下载镜像)

3.1、登录harbor

$ docker login 192.168.182.152

登录失败,拒绝访问

img

【报错原因】Docker自从1.3.X之后docker registry交互默认使用的是HTTPS,但是我们这里使用HTTP。

【报错解决】
在Docker配置文件/etc/docker/daemon.json中加入如下配置 :

"insecure-registries":["192.168.182.152"]

img

然后重新启动Docker:

$ systemctl restart docker
# 重启一下容器服务
$ docker-compose restart

再次登录

$ docker login 192.168.182.152
# 账号/密码:admin/Harbor12345

img

3.2、创建项目,这里创建一个test项目用于测试用。
img

如果不创建项目,则会报错‘unauthorized: project test not found: project test not found’

img

3.3、给构建好的镜像打标签并上传到harbor

# 打标签,这里的test就是上面创建的项目
$ docker tag busybox:latest 192.168.182.152/test/busybox:v1
# 推送到远程仓库
$ docker push 192.168.182.152/test/busybox:v1

img
img

3.4、下载镜像

$ docker image ls
$ docker rmi 192.168.182.152/test/busybox:v1
$ docker image ls
# 拉取镜像
$ docker pull 192.168.182.152/test/busybox:v1

img

四、Harbor启停

# 进到harbor安装目录
$ cd /opt/harbor/harbor
# 查看状态
$ docker-compose ps
# 停止
$ docker-compose stop
$ docker-compose ps
# 启动
$ docker-compose start
$ docker-compose ps
# 重启
$ docker-compose restart
$ docker-compose ps
bash
# 进到harbor安装目录
$ cd /opt/harbor/harbor
# 查看状态
$ docker-compose ps
# 停止
$ docker-compose stop
$ docker-compose ps
# 启动
$ docker-compose start
$ docker-compose ps
# 重启
$ docker-compose restart
$ docker-compose ps
http://www.lryc.cn/news/11950.html

相关文章:

  • 【Linux】shell中运算符(整数、字符串)
  • 【从零单排Golang】第八话:通过cache缓存模块示范interface该怎么用
  • 解析从Linux零拷贝深入了解Linux-I/O(上)
  • JavaScript系列之公有、私有和静态属性和方法
  • 过滤器与拦截器
  • spring boot 和cloud 版本升级
  • untiy 录制网络摄像头视频并保存到本地文件
  • 微服务架构设计模式-(15)部署
  • Redis:数据结构
  • 2.18 设置language和中文输入法
  • 图解LeetCode——剑指 Offer 28. 对称的二叉树
  • Qt Desginer布局方法
  • C/C++、Java、Python的比较及学习(3)
  • 智慧校园建设方案
  • ARM uboot 源码分析5 -启动第二阶段
  • 【ip neigh】管理IP邻居( 添加ARP\NDP静态记录、删除记录、查看记录)
  • Java程序员线上排查问题神器-Arthas
  • 上市公司企业持续创新能力、创新可持续性(原始数据+计算代码+计算结果)(2008-2021年)
  • 华为OD机试 - 考古学家(JS)
  • Leetcode.2100 适合打劫银行的日子
  • linux ubuntu查日志信息以及错误排查
  • DOS经典软件,落下帷幕,新型国产平台,蓬勃发展
  • MongoDB数据存储格式
  • ARC126D Pure Straight
  • 基于RK3588的嵌入式linux系统开发(四)——uboot镜像下载(基于RKDevTool工具)
  • 设计模式之策略模式与责任链模式详解和应用
  • 广度优先搜索(BFS)-蓝桥杯
  • Java Type类
  • Springboot扩展点之CommandLineRunner和ApplicationRunner
  • ngixn 常用配置之文件类型与自定义 log