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

harbor-私有镜像仓库的离线安装部署

时间:2023-09-14 22:45:53浏览次数:65  
标签:配置文件 harbor 离线 镜像 docker root Docker localhost

harbor-私有镜像仓库的离线安装部署

最低安装条件:

资源 最低限度 推荐
CPU 2核 4核
内存 4 GB 8 GB

最低软件要求:

软件 版本 描述
Docker engine 版本 17.06.0-ce+ 或更高版本 有关安装说明,请参阅 Docker 引擎文档
Docker Compose 版本 1.18.0 或更高版本 有关安装说明,请参阅 Docker Compose 文档
OpenSSL 最新的优先 用于为 Harbor 生成证书和密钥

Harbor 要求在目标主机上打开以下端口:

端口号 协议 描述
443 HTTPS Harbor 门户和核心 API 接受此端口上的 HTTPS 请求。您可以在配置文件中更改此端口。
4443 HTTPS 与 Harbor 的 Docker 内容信任服务的连接。仅在启用 Notary 时才需要。您可以在配置文件中更改此端口。
80 HTTP Harbor 门户和核心 API 接受此端口上的 HTTP 请求。您可以在配置文件中更改此端口。

离线安装步骤

安装docker
# 配置阿里云的repo源
yum install -y yum-utils
 
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 
# 安装docker服务
yum install docker-ce-20.10.6 -y
 
# 启动docker,设置开机自启
systemctl start docker && systemctl enable docker.service
 
# 查看docker版本,docker compose版本
[root@localhost harbor]# docker version
Client: Docker Engine - Community
 Version:           24.0.6
 API version:       1.41 (downgraded from 1.43)
 Go version:        go1.20.7
 Git commit:        ed223bc
 Built:             Mon Sep  4 12:35:25 2023
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          20.10.6
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       8728dd2
  Built:            Fri Apr  9 22:43:57 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.22
  GitCommit:        8165feabfdfe38c65b599c4993d227328c231fca
 runc:
  Version:          1.1.8
  GitCommit:        v1.1.8-0-g82f18fe
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
[root@localhost harbor]# docker compose version
Docker Compose version v2.21.0
[root@localhost harbor]# 

安装harbor

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

image

解压后进入harbor文件夹,记得复制harbor.yml.tmpl配置文件为harbor.yml

[root@localhost ~]# tar -zxf harbor-offline-installer-v2.7.3.tgz 
[root@localhost ~]# cd harbor
# harbor.yml.tmpl为配置文件,install.sh为安装执行文件
[root@localhost harbor]# ls
common  common.sh  docker-compose.yml  harbor.v2.7.3.tar.gz  harbor.yml  harbor.yml.tmpl  install.sh  LICENSE  prepare
[root@localhost harbor]# 

打开harbor.yml文件修改三处位置

# Configuration file of Harbor

# The IP address or hostname to access admin UI and registry service.
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
# 设置harbor的域名,注意不要使用localhost或者127.0.0.1
hostname: 192.168.142.138

# http related config
http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
  # 设置http开放端口
  port: 8088

# https related config
# 这里我们不用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

执行./install.sh命令安装harbor

根据harbor.yml文件中配置的IP地址和端口访问

image
image

现在可以使用harbor创建项目,即存放镜像的仓库,harbor初始帮我们创建了library仓库

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

image

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

解决办法:找到docker 的 daemon.json 配置文件,CentOS 7 的路径:/etc/docker/daemon.json(系统版本不同所处位置不同,其他版本的请自行百度),如果路径下没有这个文件自己创建即可。然后再配置文件里加上:

{
  "registry-mirrors": ["https://mirror.ccs.tencentyun.com"],
  "insecure-registries": ["192.168.142.138:8088"]
}

操作完成重新加载:

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

关闭和启动harbor

# 关闭
docker compose down
# 启动
docker compose up

harbor基本操作

登录harbor

[root@localhost harbor]# docker login -u admin -p Harbor12345 192.168.142.138:8088
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
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

对nginx镜像进行上传仓库

# 在项目中标记镜像:
docker tag SOURCE_IMAGE[:TAG] 192.168.142.138:8088/library/REPOSITORY[:TAG]
# 推送镜像到当前项目:
docker push 192.168.142.138:8088/library/REPOSITORY[:TAG]

标签:配置文件,harbor,离线,镜像,docker,root,Docker,localhost
From: https://www.cnblogs.com/the1729cranes/p/17703707.html

相关文章

  • Docker 深度清除镜像缓存 (overlay2)
    Docker深度清除镜像缓存(overlay2)一般情况下,运维清理镜像是通过命令dockerrmi删除镜像的。但是这条命令不会删除dockerbuild命令产生的缓存文件。这个时候需要使用dockersystem的系列命令来做相关处理。dockersystem--help输出:#输出Usage:dockersystemCO......
  • TQT113平台虚拟机镜像使用手册
    ▲点击上方“广州天嵌”关注公众号后回复TQT113_CORE获取板卡wiki资料本文介绍如何使用我司提供的虚拟机镜像,搭建虚拟机环境,构建编译TQT113_COREB开发板的开发环境。注意事项:若用户没有搭建过调试和开发环境,或已有我司其他开发平台或其他厂商的测试开发环境的,请先严格按照本手册搭......
  • TQT113平台虚拟机镜像使用手册
    本文介绍如何使用我司提供的虚拟机镜像,搭建虚拟机环境,构建编译TQT113_COREB开发板的开发环境。注意事项:若用户没有搭建过调试和开发环境,或已有我司其他开发平台或其他厂商的测试开发环境的,请先严格按照本手册搭建成功后再进行测试调试开发等内容操作,避免因为环境不一致导致测试和......
  • harbor配置自动清理镜像
    harbor镜像仓库使用久了,空间占用快一个T了翻了一下资源库,项目从立项到现在的所有镜像全在里面,所以想着清理下,思考了下,只保留最近10个镜像我觉得比较合理其实有git在,harbor储存镜像的意义不大,我觉得极端点保留3个就可以,以备紧急回滚就行网上找了一圈,都是自己写的脚本清理harbor......
  • nginx常用配置和nginx镜像验证配置
    目的总结项目中常用的nginx配置,然后通过docker构建一个nginx镜像来快速使用和验证。目录结构 nginx配置nginx.conf文件:usernginx;worker_processesauto;error_log/var/log/nginx/error.lognotice;pid/var/run/nginx.pid;events{worker_connecti......
  • docker 尝试把.netcore项目打成镜像
    添加国内镜像https://blog.csdn.net/qq_44797987/article/details/112681224生成Dockerfile文件打开VisualStudio右键Web项目,添加docker支持执行命令验证......
  • macOS Big Sur 11.7.10 (20G1427) Boot ISO 原版可引导镜像
    macOSBigSur11.7.10(20G1427)BootISO原版可引导镜像本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。另外也支持在Windows和Linux中创建可引导介质。2023年9月12日,Apple为macOS和iOS......
  • macOS Monterey 12.6.9 (21G726) Boot ISO 原版可引导镜像
    macOSMonterey12.6.9(21G726)BootISO原版可引导镜像本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。另外也支持在Windows和Linux中创建可引导介质。2023年9月12日,Apple为macOS和iOS等......
  • 自定义镜像-镜像结构
       ......
  • Ubuntu18.04离线安装Nginx
    1、安装gcc等依赖包sudoaptupdate#通过以下命令安装编译器和调试器,gdb是Linux下常用的程序调试器sudoaptinstallbuild-essentialgdb#如果成功,则显示版本号gcc--versiong++--versiongdb--version2、下载nginx安装包sudowgethttp://nginx.org/download/......