部署docker harbor(http/https)的使用及错误总结

以下是在虚拟机VMware环境进行部署测试

1.容器管理

首先创建harbor的目录便于存放harbor的压缩包

mkdir /opt/harbor &&cd /opt/harbor

2.下载harbor

wget https://github.com/goharbor/harbor/releases/download/v2.9.1/harbor-offline-installer-v2.9.1.tgz

下载完成之后进行解压并指定解压目录在/usr/local/下面

tar xf harbor-offline-installer-v2.9.1.tgz -C /usr/local/

3.下载docker-compose

(由于harbor是基于docker-compose管理的)

yum -y install epel-release.noarch  (下载epel源)

yum install -y docker-compose   (下载docker-compose)

docker-compose  version  (检查有没有安装好)

4.安装harbor

注意事项:

新版harbor的文件目录里面 只有harbor.yml.tmpl文件 没有harbor.yml文件,由于harbor.yml.tmpl这个文件内容和本来应该有harbor.yml这个文件的内容是一样的,所以我们直接先进到/usr/local/harbor目录里面

cd /usrl/local/harbor

然后复制一份成harbor.yml

cp harbor.yml.tmpl harbor.yml

复制完成后就就开始修改你的harbor.yml文件

5.修改配置文件

[任务一:修改hostname 修改为你的ip或者域名]   !!!修改为你的域名的话 除了你的虚拟机/etc/hosts里面要加一条你的域名之外 你想Windows访问的话也需要增加这个域名 不然Windows只能满世界找你的域名网页在哪,你想Windows增加域名的话就在C:\Windows\System32\drivers\etc  这个路径下的hosts文件修改 因为没权限不能直接修改 你就把这个文件拉到桌面然后修改了之后拉上去,

[任务二:修改你的harbor_admin_password:   后面跟你要更改的密码 ]

[任务三:  把下面的7-10 或者12-18 这两段根据你的需求进行注释,你如果有ssl证书你就把7-10的http注释掉  你如果没有就注释12-18,相当于把http或者https选一个屏蔽掉]

前20行代码 (这是有ssl证书的代码块 我把http注释掉了)

# 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.
hostname: www.csdn.com

# http related config
#http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
 # port: 80

# https related config
https:
  # https port for harbor, default is 443
  port: 443
  # The path of cert and key files for nginx
  certificate: /data/ca/harbor-ca.crt
  private_key: /data/ca/harbor-ca.key
彩蛋:如果需要自己的ssl证书(不被公网认定)就需要执行以下命令

mkdir /data/ca    && cd /data/ca  (创建一个存放ssl证书的目录)

openssl genrsa -out /data/ca/harbor-ca.key

openssl req -x509 -new -nodes -key /data/ca/harbor-ca.key  -subj "/CN=harbor.linux.com" -days 7120 -out /data/ca/harbor-ca.crt

各个参数列表:

--------------------------------------------------------------------------------------------------------------------------------

  • genrsa 生成RSA私钥

  • CSR 证书签名请求

  • CRT 生成自签名证书

  • openssl req 命令主要的功能有,生成证书请求文件, 查看验证证书请求文件,还有就是生成自签名证书。

  • x509是一个功能很丰富的证书处理工具。可以用来显示证书的内容,转换其格式,给CSR签名等X.509证书的管理工作

  • -new 说明生成证书请求文件

  • -key 指定已有的秘钥文件生成秘钥请求,只与生成证书请求选项-new配合。

  • -newkey -newkey是与-key互斥的,-newkey是指在生成证书请求或者自签名证书的时候自动生成密钥,

    • 然后生成的密钥名称由-keyout参数指定。当指定newkey选项时,后面指定rsa:bits说明产生

    • rsa密钥,位数由bits指定。 如果没有指定选项-key和-newkey,默认自动生成秘钥。

  • -out -out 指定生成的证书请求或者自签名证书名称

  • -config 默认参数在ubuntu上为 /etc/ssl/openssl.cnf, 可以使用-config指定特殊路径的配置文件

  • -nodes 如果指定-newkey自动生成秘钥,那么-nodes选项说明生成的秘钥不需要加密,即不需要输入passphase.

  • -batch 指定非交互模式,直接读取config文件配置参数,或者使用默认参数值

  • -----------------------------------------------------------------------------------------------------------------

然后

mkdir -pv /etc/docker/certs.d/harbor.linux.com/

cp /data/ca/harbor-ca.crt /etc/docker/certs.d/harbor.linux.com/  把ssl证书放在对应的目录下

那么ssl证书的存放位置也要填写填写到docker-compose.yml文件里面 也就是12-18行https的那一列

 https:
 14   # https port for harbor, default is 443
 15   port: 443
 16   # The path of cert and key files for nginx
 17   certificate: /data/ca/harbor-ca.crt
 18   private_key: /data/ca/harbor-ca.key

修改完成后保存

执行安装脚本

如果你没有ssl证书 此时你就可以直接在/usr/local/harbor目录里面执行脚本了

./install.sh      要等一会儿

docker-compose start

检查运行成功没

docker-compose ps

[root@docker01 harbor]# docker ps
CONTAINER ID        IMAGE                                               COMMAND                  CREATED             STATUS                    PORTS                                      NAMES
 287136c60b95        goharbor/nginx-photon:v2.9.1                        "nginx -g 'daemon of…"   38 seconds ago      Up 37 seconds (healthy)   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   nginx
 66a07d42818c        goharbor/harbor-jobservice:v2.9.1                   "/harbor/start.sh"       42 seconds ago      Up 38 seconds                                                        harbor-jobservice
 e4bb415fd236        goharbor/harbor-portal:v2.9.1                       "nginx -g 'daemon of…"   42 seconds ago      Up 38 seconds (healthy)   80/tcp                                     harbor-portal
 1530c4b4c604        goharbor/harbor-core:v2.9.1                         "/harbor/start.sh"       43 seconds ago      Up 41 seconds (healthy)                                              harbor-core
 adc160874fef        goharbor/redis-photon:v2.9.1                        "docker-entrypoint.s…"   44 seconds ago      Up 42 seconds             6379/tcp                                   redis
 300165f93782        goharbor/harbor-db:v2.9.1                           "/entrypoint.sh post…"   44 seconds ago      Up 42 seconds (healthy)   5432/tcp                                   harbor-db
 a81c3d53eb2e        goharbor/registry-photon:v2.7.1-patch-2819-v2.9.1   "/entrypoint.sh /etc…"   44 seconds ago      Up 43 seconds (healthy)   5000/tcp                                   registry
 1a7cf72c6433        goharbor/harbor-registryctl:v2.9.1                  "/harbor/start.sh"       44 seconds ago      Up 42 seconds (healthy)                                              registryctl
 6be2b10b733d        goharbor/harbor-log:v2.9.1                          "/bin/sh -c /usr/loc…"   45 seconds ago      Up 44 seconds (healthy)   127.0.0.1:1514->10514/tcp                  harbor-log

成功

错误列表:

如果报错network harbor_harbor was found but has incorrect label com.docker.compose.network set to ""就执行以下命令
docker network ls 一下查看有没有多余的网络
docker network rm harbor_harbor  把这个网络删除了

删除之后重新执行安装脚本./install.sh

然后到网页里面打开http://域名或者你的ip

用户名admin 密码你自己设置的,你要忘了就去harbor.yml里面去找你的密码


在启动到服务后 登陆访问页面报错表示核心服务不可用 有可能是
/data/database/ 里面有个目录 叫做pg13 如果没有全是散的文件就创建pg13然后把散的文件放到这个目录里面 最后pg13给权限750
然后重新启动一下harbor然后就可以进入了

  • 30
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
部署Docker Harbor,您可以按照以下步骤进行操作: 1. 安装Docker:确保您的系统上已经安装了Docker。您可以访问Docker官方网站(https://www.docker.com/)获取适用于您系统的安装指南。 2. 下载并配置Harbor:访问Harbor官方网站(https://goharbor.io/)并下载最新版本Harbor。解压下载的文件,并编辑`harbor.yml`文件来配置Harbor。您可以根据您的需求更改配置,例如端口号、存储位置、认证等。 3. 配置SSL证书(可选):如果您希望使用HTTPS协议来访问Harbor,您需要准备一个有效的SSL证书,并在`harbor.yml`文件中指定证书路径。 4. 启动Harbor:在解压的Harbor目录中运行以下命令来启动Harbor: ``` ./install.sh --with-notary --with-trivy ``` 该命令会启动Harbor以及相关的Notary和Trivy组件。您可以根据需要添加或删除这些组件。 5. 访问Harbor:一旦Harbor启动成功,您可以通过在浏览器中输入Harbor的地址来访问它。默认情况下,Harbor的地址是`http://<hostname>`,其中`<hostname>`是您部署Harbor的主机名或IP地址。 6. 配置访问权限:首次访问Harbor时,您需要设置管理员账户和密码。登录后,您可以根据需要创建用户、项目和仓库,并配置相应的访问权限。 请注意,以上只是大致的步骤概述,实际部署过程中可能会有一些特定的配置和调整。建议您参考Harbor官方文档以获取更详细的部署指南和配置说明。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值