首页 > 其他分享 >Harbor-私有镜像仓库的安装部署

Harbor-私有镜像仓库的安装部署

时间:2023-10-17 09:55:34浏览次数:46  
标签:Harbor 离线 harbor 私有 安装程序 镜像 docker root

Harbor-私有镜像仓库的安装部署

仓库的概念也就是用于存储,docker仓库用于存储镜像。

镜像构建完成后,很容易可以在宿主机上运行,但是如果要在其他服务器上运行,则需要考虑镜像的分发,存储的问题。

公有/私有仓库

Docker Registry有两种形式

公开,开放给所有用户,提供给所有用户搜索,拉取,提交,更新镜像,还免费保管用户镜像数据。
  - 此类服务受限于网络限制,无法及时立即获取所需镜像,简单说就是需要用什么得现下载,得看网速
  - 优点是可以获取绝大部分公开的镜像,方便使用
私有范围的Registry服务,用在学校,企业内网的研发环境
  - 局域网环境,保证了镜像拉取速度
  - 保证核心镜像数据安全
  - 存在镜像不丰富问题

公开服务仓库

最常见的Registry是Docker Hub,也是docker默认允许用户管理镜像的Registry服务,拥有大量高质量的官方镜像。

由于网络地域原因,公开服务在国内访问较慢,也就出现了针对镜像服务的加速器。

- [阿里云加速器](http://ebook-p6.yuchaoit.cn/容器/www.yuchaoit.cn)
- DaoCloud加速器
- 灵雀云加速器
- 等等

使用加速器,可以从国内的地址获取Docker Hub的镜像,速度会快很多。

私有服务仓库

除了私用公开服务外,还可以在自己本地搭建私有Docker Registry。

开源的Docker Registry镜像只提供了Docker Registry API的功能,没有图形化功能。

1.部署docker-harbor

官网给出了安装需要的最低硬件和软件的条件:https://goharbor.io/docs/2.0.0/install-config/installation-prereqs/

最低硬件要求:

资源 最低限度 推荐的
CPU 2核 4 核
内存 4GB 8 GB
磁盘 40 GB 160 GB

最低软件要求:

软件 版本
Docker engine 版本 17.06.0-ce+ 或更高版本
Docker Compose 版本 1.18.0 或更高版本
OpenSSL 最新的优先

在线安装和离线安装

可以从官方发布页面下载 Harbor 安装程序。下载在线安装程序或离线安装程序。

在线安装程序:在线安装程序从 Docker 中心下载 Harbor 镜像。因此,安装程序的尺寸非常小。
离线安装程序:如果要部署 Harbor 的主机没有连接到 Internet,请使用离线安装程序。离线安装程序包含预先构建的映像,因此它比在线安装程序大
在线和离线安装程序的安装过程几乎相同。

这里我主要使用离线安装,因为在线安装因为墙、内部网络等原因,有的同学会下载很慢,而离线安装包都包含了预先构建的镜像,所以直接现在离线安装包最好!

离线安装

官方发布 页面下载离线安装包:

image

安装docker-compose

yum install docker-compose -y

[root@docker-200 /www.yuchaoit.cn/test_dockerfile/tomcat_web/web_base]#docker-compose version
docker-compose version 1.18.0, build 8dd22a9
docker-py version: 2.6.1
CPython version: 3.6.8
OpenSSL version: OpenSSL 1.0.2k-fips  26 Jan 2017

上传harbor离线安装包

mkdir -p /data/docker-harbor/
cd /data/docker-harbor/
上传安装包
tar -zxvf harbor-offline-installer-v1.9.0-rc1.tgz

[root@node3 docker-harbor]# ll
total 601868
drwxr-xr-x 3 root root       140 Oct 17 09:07 harbor
-rw-r--r-- 1 root root 616312579 Oct 16 23:19 harbor-offline-installer-v1.9.0-rc1.tgz

cd harbor
[root@node3 harbor]# ll
total 605152
drwxr-xr-x 3 root root        20 Oct 16 23:28 common
-rw-r--r-- 1 root root      5287 Oct 17 09:07 docker-compose.yml
-rw-r--r-- 1 root root 619632806 Sep  4  2019 harbor.v1.9.0.tar.gz
-rw-r--r-- 1 root root      5800 Oct 16 23:37 harbor.yml
-rwxr-xr-x 1 root root      5088 Sep  4  2019 install.sh
-rw-r--r-- 1 root root     11347 Sep  4  2019 LICENSE
-rwxr-xr-x 1 root root      1748 Sep  4  2019 prepare
可以看到文件夹有一堆文件,其中最主要的是 harbor.yml.tmpl和 install.sh ,他们分别是配置文件和安装执行文件。

编辑harbor.yml,最主要是更改以下几点,其他的保持默认即可:

image

harbor.yml示例模板:

[root@node3 harbor]# grep -Ev '^$|#' harbor.yml 
hostname: 192.168.10.110
http:
  port: 8080
harbor_admin_password: 123456
database:
  password: root123
  max_idle_conns: 50
  max_open_conns: 100
data_volume: /data
clair:
  updaters_interval: 12
jobservice:
  max_job_workers: 10
notification:
  webhook_job_max_retry: 10
chart:
  absolute_url: disabled
log:
  level: info
  local:
    rotate_count: 50
    rotate_size: 200M
    location: /var/log/harbor
_version: 1.9.0
proxy:
  http_proxy:
  https_proxy:
  no_proxy: 127.0.0.1,localhost,.local,.internal,log,db,redis,nginx,core,portal,postgresql,jobservice,registry,registryctl,clair
  components:
    - core
    - jobservice
    - clair

然后继续用命令执行安装 ./install.sh

image

当出现红箭头指向的提示的时候,就表示安装成功了!

然后根据在harbor.yml文件中配置的端口与IP地址(或域名)进行访问

现在Harbor已经可以使用了

image

由于我部署的时候没有使用HTTPS,所以使用docker登录的时候会出现以下异常信息

image

原因:Docker自从1.3.X之后docker registry交互默认使用的是HTTPS,但是搭建私有镜像默认使用的是HTTP服务,所以与私有镜像交时出现以上错误。

解决办法:

找到docker 的 daemon.json 配置文件,CentOS 7 的路径:/etc/docker/daemon.json,如果路径下没有这个文件自己创建即可。然后再配置文件里加上:

image

操作完后让这个文件生效:

修改完成后reload配置文件
sudo systemctl daemon-reload
 
重启docker服务
sudo systemctl restart docker.service

尝试docker login

[root@node3 harbor]# docker login http://192.168.10.110:8080/
Username: admin
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
表示登录成功

标签:Harbor,离线,harbor,私有,安装程序,镜像,docker,root
From: https://www.cnblogs.com/chunjeh/p/17769007.html

相关文章

  • 【Linux 网络编程】为什么 IP 地址通常以192.168开头?——私有 IP 地址段
    首先,192.168并不是设置局域网IP地址的唯一选择。很多企业都选择10.或者172.16开头规划局域网。三个私有IP地址段网络中的主机需要通信,需要使用一个IP地址,目前我们普遍使用的IPv4的地址,分为A、B、C、D、E五类,其中A、B、C类是我们常见的IP地址段。在这三类地址中,大多数为公有地......
  • 使用Docker buildx 为 .NET 构建多平台镜像
    .NET团队有一篇博客改进多平台容器支持,详细介绍了.NET7以上的平台可以轻松的使用Dockerbuildx工具构建多平台的镜像。buildx是Docker官方提供的一个构建工具,它可以帮助用户快速、高效地构建Docker镜像,并支持多种平台的构建。使用buildx,用户可以在单个命令中构建多......
  • docker配置阿里云镜像
    1.登录阿里云账号2.进入管理界面,搜索:容器镜像  1.安装/升级Docker客户端推荐安装1.10.0以上版本的Docker客户端,参考文档docker-ce2.配置镜像加速器针对Docker客户端版本大于1.10.0的用户您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器sudo......
  • [机器学习] 3. 镜像下降 Mirror Descent 与线性耦合 Linear Coupling
    MLTheory太魔怔了!!!!!我们来考虑更快的下降算法。对\(L\)-smooth的GradientDescent,我们有两种视角来看它。一种是局部视角,梯度方向相近的点的函数值一定会下降,另一种是全局视角,用一个二次函数为整个\(f\)提供了一个lowerbound。当局部梯度的范数很大时,函数值会下降的很快;当......
  • docker入门加实战—Docker镜像和Dockerfile语法
    docker入门加实战—Docker镜像和Dockerfile语法镜像镜像就是包含了应用程序、程序运行的系统函数库、运行配置等文件的文件包。构建镜像的过程其实就是把上述文件打包的过程。镜像结构我们要从0部署一个Java应用,大概流程是这样:准备Linux运行环境(java项目并不需要完整的操作......
  • k8s获取所有镜像地址并推送到镜像仓库
    单个空间kubectl-ntest-systemgetdeployments-owide|awk'{print$7}'|grepregistry.test.cn>images.txttailimages.txt 所有空间kubectlgetdeployments-A-owide|awk'{print$8}'|grepregistry.test.cn>images.txtgrep-ibiti......
  • 将docker里的所有正在运行的docker容器commit成images镜像并推送至harbor仓库里
    脚本一需求:将本地服务器上正在运行的所有容器打包成镜像并上传至Harbor仓库下的指定项目里  #!/bin/bash#设置Harbor仓库的地址和凭据HARBOR_URL="192.168.1.55:88"HARBOR_USERNAME="admin"HARBOR_PASSWORD="Harbor12345"HARBOR_PROJECT="m55all-images"#登录到Harbor仓......
  • 制作python3.10镜像带gunicorn
    DockerfileFromharbor.goldwind.com/library/centos:7.9.2009ADDPython-3.10.13.tgz/dataRUNyuminstallmakexz-develpython-developenldap-develbzip2-develexpat-develgdbm-develreadline-develsqlite-develgccgcc-c++openssl-develxorg-x11-xauthzli......
  • harbor自建https证书生成
    1.创建根证书#生成RSA私有秘钥opensslgenrsa-outca-key.pem4096#生成CSR(CertificateSigningRequest),CSR和KEY是匹配的,CSR是最终的证书和私钥配对使用opensslreq-x509-new-nodes-sha512-days3650-subj"/C=CN/ST=Guangdong/L=Shenzhen/O=example/OU=DCP/CN=re......
  • npm使用淘宝镜像地址
    cmd运行起来,或者在VSCode的控制台//使用阿里云定制的cnpm命令行工具代替默认的npmnpminstall-gcnpm--registry=https://registry.npmmirror.com//检验是否成功cnpm-v//单次使用npminstall--registry-https://registry.npmmirror.com//永久替换//1.运行命令npmconfig......