Docker harbor私有仓库部署与管理-2

简介: Docker harbor私有仓库部署与管理

4.2 部署 Harbor 服务

(1)下载或上传 Harbor 安装程序

wget http://harbor.orientsoft.cn/harbor-1.2.2/harbor-offline-installer-v1.2.2.tgz
tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/

88ca3c9cfbd144358b3b1c96d64cfa40.png


(2)修改harbor安装的配置文件

vim /usr/local/harbor/harbor.cfg
--5行--修改,设置为Harbor服务器的IP地址或者域名
hostname = 192.168.147.105
--59行--指定管理员的初始密码,默认的 用户名/密码 是 admin/Harbor12345
harbor_admin_password = Harbor12345

2830e1d489dd43189a302c0deea532aa.png

7d33c0dd4fd34d5ca02f60112cdb8fa2.png


关于 Harbor.cfg 配置文件中有两类参数: 所需参数和可选参数


① 所需参数: 这些参数需要在配置文件 Harbor.cfg 中设置。如果用户更新它们并运行 install.sh 脚本重新安装 Harbor, 参数将生效。具体参数如下:


  • hostname:用于访问用户界面和 register 服务。它应该是目标机器的 IP 地址或完全限定的域名(FQDN),例如 192.168.147.105 或 hub.kgc.cn。不要使用 localhost 或 127.0.0.1 为主机名。
  • ui_url_protocol:(http 或 https,默认为 http)用于访问 UI 和令牌/通知服务的协议。如果公证处于启用状态,则此参数必须为 https。
  • max_job_workers:镜像复制作业线程。
  • db_password:用于db_auth 的MySQL数据库root 用户的密码。
  • customize_crt:该属性可设置为打开或关闭,默认打开。打开此属性时,准备脚本创建私钥和根证书,用于生成/验证注册表令牌。当由外部来源提供密钥和根证书时,将此属性设置为 off。
  • ssl_cert:SSL 证书的路径,仅当协议设置为 https 时才应用。
  • secretkey_path:用于在复制策略中加密或解密远程 register 密码的密钥路径。


② 可选参数: 这些参数对于更新是可选的,即用户可以将其保留为默认值,并在启动 Harbor 后在 Web UI 上进行更新。如果进入 Harbor.cfg,只会在第一次启动 Harbor 时生效,随后对这些参数的更新,Harbor.cfg 将被忽略。


注意:如果选择通过 UI 设置这些参数,请确保在启动 Harbor 后立即执行此操作。具体来说,必须在注册或在 Harbor 中创建任何新用户之前设置所需的 auth_mode。当系统中有用户时(除了默认的 admin 用户), auth_mode 不能被修改。 具体参数如下:


  • Email:Harbor 需要该参数才能向用户发送“密码重置”电子邮件,并且只有在需要该功能时才启用。请注意,在默认情况下 SSL 连接时没有启用。如果 SMTP 服务器需要 SSL,但不支持 STARTTLS,那么应该通过设置启用 SSL email_ssl = TRUE。
  • harbor_admin_password:管理员的初始密码,只在 Harbor 第一次启动时生效。之后, 此设置将被忽略,并且应在 UI 中设置管理员的密码。请注意,默认的用户名/密码是admin/Harbor12345。
  • auth_mode:使用的认证类型,默认情况下,它是 db_auth,即凭据存储在数据库中。对于LDAP身份验证,请将其设置为 ldap_auth。
  • self_registration:启用/禁用用户注册功能。禁用时,新用户只能由 Admin 用户创建,只有管理员用户可以在 Harbor 中创建新用户。注意:当 auth_mode 设置为 ldap_auth 时,自注册功能将始终处于禁用状态,并且该标志被忽略。
  • Token_expiration:由令牌服务创建的令牌的到期时间(分钟),默认为 30 分钟。
  • project_creation_restriction:用于控制哪些用户有权创建项目的标志。默认情况下,每个人都可以创建一个项目。 如果将其值设置为“adminonly”,那么只有 admin 可以创建项目。
  • verify_remote_cert:打开或关闭,默认打开。此标志决定了当Harbor与远程 register 实例通信时是否验证 SSL/TLS 证书。 将此属性设置为 off 将绕过 SSL/TLS 验证,这在远程实例具有自签名或不可信证书时经常使用。
  • 另外,默认情况下,Harbor 将镜像存储在本地文件系统上。在生产环境中,可以考虑使用其他存储后端而不是本地文件系统,如 S3、Openstack Swif、Ceph 等对象存储。但需要更新 common/templates/registry/config.yml 文件。Harbor的默认镜像存储路径在 /data/registry 目录下,映射到docker容器里面的 /storage 目录下。这个参数是在 docker-compose.yml 中指定的,在 docker-compose up -d 运行之前修改。如果希望将 Docker 镜像存储到其他的磁盘路径,可以修改这个参数。


4.3 启动 Harbor

cd /usr/local/harbor/
在配置好了 harbor.cfg 之后,执行 ./prepare 命令,为 harbor 启动的容器生成一些必要的文件(环境)
再执行命令 ./install.sh 以 pull 镜像并启动容器

390f092d6b0947028862586ee3562fd4.png

d5b48b389d954402a964e061c9af243a.png



4.4 查看 Harbor 启动镜像

cd /usr/local/harbor/
docker-compose ps


5d3d7194586742188459272e281c3826.png

4.5 创建一个新项目

(1)浏览器访问:http://192.168.147.105 登录 Harbor WEB UI 界面,默认的管理员用户名和密码是 admin/Harbor12345


6cdbb5e2be6143cd903ec4fc2287364f.png


(2)输入用户名和密码登录界面后可以创建一个新项目。点击“+项目”按钮


cfcb759934cb4ce8853eb991e1e3250e.png


(3)填写项目名称为“myproject-01”,点击“确定”按钮,创建新项目


21135b494dfa492cbd1df906cf409df6.png


41981d195c034547982230e71828530e.png

(4)此时可使用 Docker 命令在本地通过 127.0.0.1 来登录和推送镜像。默认情况下,Registry 服务器在端口 80 上侦听。

//登录 Harbor
docker login -u admin -p Harbor12345 http://127.0.0.1
//下载镜像进行测试
docker pull nginx
//将镜像打标签
格式:docker tag 镜像:标签  仓库IP/项目名称/镜像名:标签
docker tag nginx:latest 127.0.0.1/myproject-01/nginx:v1
//上传镜像到 Harbor
docker push 127.0.0.1/myproject-01/nginx:v1

abde251a8dfd4a74bbc6db275ea42c7c.png


8adf432ec91e4d4b83e41441ac59fb56.png

(5)在 Harbor 界面 myproject-01 目录下可看见此镜像及相关信息

5325e3cfc3bc4177b5d0a40e180f705e.png


目录
相关文章
|
6天前
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
55 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
|
17天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
56 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
7天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
7天前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
17 1
|
7天前
|
前端开发 开发者 Docker
深入探索Docker Compose:简化多容器应用的部署
深入探索Docker Compose:简化多容器应用的部署
27 0
|
Cloud Native Go Docker
【云原生】Docker私有仓库registry
【云原生】Docker私有仓库registry
211 0
|
数据安全/隐私保护 Docker 容器
Docker之私有仓库registry(一)
Docker之私有仓库registry(一)
401 0
|
Docker 容器
Docker私有仓库registry(九)
1.docker私有仓库registry ###1.1.普通registry 所谓普通的registry就是不需要认证,直接就可以上传到仓库 1)安装registry镜像
215 0
Docker私有仓库registry(九)
|
5天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
23 2
|
应用服务中间件 虚拟化 nginx
Docker 搭建私有仓库Registry&Harbor
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36367789/article/details/81623854 为什么要弄私有仓库,大多是为了速度,我们再私有仓库中的push和pull的速度是特别快的。
1787 0