一、简介
Docker官方提供的私有仓库注册中心虽然使用方便,但是在管理能力上存在一些不足。 Harbor是一个企业级注册服务器,用于存储和分发Docker镜像。 Harbor是使用官方的DockerRegistry(v2名称为Distribution)服务完成的。 Harbor基于Docker发行版,增加了安全、访问控制和管理功能,以满足企业镜像仓储需求。
二、安装
2.1. 环境
linux centos8 192.168.182.1522.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.repo2) 安装并升级Python-pip。
$ yum install python3-pip $ pip3 install –upgrade pip3) 安装docker-compose
$ pip3 install docker-compose4) 显示docker-compose 版本
$ docker-compose –version2.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.tgz2.4,配置文件harbor.conf更改。
$ cd /opt/harbor/harbor# 复制配置文件$ cp Harbor.yml.tmpl Harbor.yml# 创建持久数据目录$ mkdir -p /opt/harbor/data 完成配置Harbor。
#删除空行和注释,因为配置太多。如果您只更改主机名、data_volume 并需要配置https,则$ grep -v ‘^$\|#’ Harbor.yml 可以保留原样。此处使用http,其他均保留默认值。
hostname: 192.168.182.152 # 更改为你机器的IP http: port: 80#https:# port: 443#certificate: /your/certificate/path# private_key: /your/private/key/pathharbor_admin_password: # Harbor1234 5 # Har 管理员密码数据库: 密码: root123 max_idle_conns: 100 max_open_conns: 900data_volume: /opt /harbor/data # 持久数据目录trivy:ignore_unfixed: false Skip_update: false insecure: falsejobservice: max_job_workers: 10notification: webhook_job_max_retry: 10chart333 60Absolute_url:disabledlog:level:infolocal:rotate_count:50rotate_size:200M位置:/var/log/harbor_version:2.3.0proxy3336 0http_proxy:https_proxy:no_proxy:components33 360 -core- jobservice – trivy2 5. 安装Harbor并启动它。
$ ./install.sh 安装完成后,检查正在运行的Docker 容器。
$ 码头工人PS
2.6. 访问Harbor WEB界面
http://192.168.182.152/账号/密码:admin/Harbor12345
三、Harbor的使用(上传下载镜像)
3.1. 登录Harbor。
$ docker login 192.168.182.152 登录失败,访问被拒绝
【错误原因】从Docker 1.3.X开始,docker注册表链接默认使用HTTPS,但这里我们使用HTTP。
[已解决的错误] 将以下设置添加到Docker 配置文件/etc/docker/daemon.json。
‘不安全的注册表’:[‘192.168.182.152’]
然后重新启动Docker。
$ systemctl restart docker# 重启容器服务$ docker-compose restart 重新登录
$ docker login 192.168.182.152# 账号/密码:admin/Harbor12345
3.2. 现在创建一个测试项目。
如果未创建项目,会报“unauthorized: project test not found: project test not found”错误。
3.3. 标记并上传构建的镜像到Harbor
# tag,这里测试的是上面创建的项目$ docker tag sexybox:latest 192.168.182.152/test/busybox:v1 # 推送到远程仓库$ docker push 192.168.182.152/test/busybox:v1
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
四、Harbor启停
# 进入harbor安装目录$ cd /opt/harbor/harbor# 查看状态$ docker-compose ps# stop $ docker-compose stop$ docker-compose ps# start $ docker-compose start$ docker-compose ps#重新启动$ docker-compose restart$ docker-compose ps
原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/83130.html