docker客户端访问harbor及安装配置更新
作者:sswhsz
版本选择和安装包下载
harbor的版本选择:
https://github.com/goharbor/harbor/releases/tag/v2.5.3
下载离线安装包选择:harbor-offline-installer-v2.5.3.tgz
离线安装包和在线安装包的唯一差别是包含了harbor需要的 所有镜像(一共15个)
[root@myserver ~]# docker images | grep harbor goharbor/harbor-exporter v2.5.3 d9a8cfa37cf8 17 months ago 87.2MB goharbor/chartmuseum-photon v2.5.3 788b207156ad 17 months ago 225MB goharbor/redis-photon v2.5.3 5dc5331f3de8 17 months ago 154MB goharbor/trivy-adapter-photon v2.5.3 27798821348a 17 months ago 251MB goharbor/notary-server-photon v2.5.3 c686413b72ce 17 months ago 112MB goharbor/notary-signer-photon v2.5.3 a3bc1def3f94 17 months ago 109MB goharbor/harbor-registryctl v2.5.3 942de6829d43 17 months ago 136MB goharbor/registry-photon v2.5.3 fb1278854b91 17 months ago 77.9MB goharbor/nginx-photon v2.5.3 91877cbc147a 17 months ago 44.3MB goharbor/harbor-log v2.5.3 ca36fb3b68a6 17 months ago 161MB goharbor/harbor-jobservice v2.5.3 75e6a7496590 17 months ago 227MB goharbor/harbor-core v2.5.3 93a775677473 17 months ago 203MB goharbor/harbor-portal v2.5.3 d78f9bbad9ee 17 months ago 52.6MB goharbor/harbor-db v2.5.3 bd50ae1eccdf 17 months ago 224MB goharbor/prepare v2.5.3 15102b9ebde6 17 months ago 166MB [root@myserver ~]#
解压安装包
在linux安装目录下,解压缩安装包:
tar xvf harbor-offline-installer-v2.5.3.tgz
安装离线镜像
执行命令:docker load < harbor.v2.5.3.tar.gz
修改配置
将harbor.yml.tmpl文件复制为 harbor.yml
修改几个重要的配置:
# 配置认证服务地址,认证服务在docker客户端首次访问时,由harbor返回给docker客户端使用。 external_url: http://myserver.com # 这个属性也用来确定认证服务地址,如果已配置external_url属性,则这个属性被忽略;否则认证地址为:http://hostname:port # 如果已配置external_url属性,那么这里如果配置了ip地址、并且harbor的主机ip已变化,也无须处理。 # 否则需要重新执行 ./prepare来处理harbor主机ip的变化 hostname: myserver # 我们这里仅使用http协议 http: # 这里的端口有两个作用,1、为harbor前端代理nginx的服务端口,也即整个服务的对外端口。 # 作用2:如果没有配置external_url属性,那么harbor认证服务地址由 hostname+此处的port两个属性决定。 # 这就意味着,如果外网映射域名后的端口(比如80)和harbor内网端口(比如9000)不一致的话,必须借助external_url来配置。 port: 9000 # 暂时注释掉https相关内容 #https: #port: 443 #certificate: /your/certificate/path #private_key: /your/private/key/path # 指定harbor的admin密码,当harbor初次启动后,harbor的admin密码被加密存储到postgre数据库中,后续修改此处的密码是无效的。 # 要修改admin密码,除了通过控制台修改以外,修改配置文件需要下面步骤: # 修改docker-compose文件中:postgresql服务的端口导出:如ports: -5432:5432(5432是harbor postgresql的缺省端口) # 使用任意客户端工具连接postgresql数据库,数据库缺省密码为 postgres / root123,数据库:registry # 更新密码:update harbor_user set password='',salt='' where username='admin' # 然后重新执行 ./prepare,再启动即可:docker-compose up -d harbor_admin_password: 123456 # 指定数据存储路径 data_volume: /home/apps/harbor/data log: local: # 日志存储路径 location: /home/apps/harbor/log
生成harbor各服务的配置文件
执行命令 ./prepare
启动harbor
执行命令 docker-compose up -d
或者 ./install.sh
也一样。
install.sh脚本包含了:docker load、./prepare、docker-compose up -d
3个命令。
docker客户端访问
因为我们没有为harbor配置 https 相关证书内容。所以需要为 docker客户端配置 “非安全的仓库地址”。 找到/etc/daemon.json文件,添加以下内容:
{ "registry-mirrors": [ "https://hub-mirror.c.163.com" ], "insecure-registries": [ "10.1.27.89:9000" ] }
特别注意:
- json文件中的 逗号,不要多也不要少
- /etc/daemon.json文件的换行符应该为 linux环境的“\n”,而不是windows环境的“\r\n”
修改完daemon.json配置后,客户端需要重启docker:
systemctl daemon-reload systemctl restart docker
问题1 - harbor主机ip变化
如果harbor的认证服务地址我们是通过 external_url 配置的,那么harbor主机ip地址变化时,无须对harbor配置进行调整。
否则,如果hostname配置的是 域名,那么也无须对harbor配置进行调整。
否则,如果hostname配置的是内网ip,那么就需要更改harbor配置中的hostname属性。
然后执行下面命令:
docker-compose down ./prepare docker-compose up -d
客户端如果时通过内网ip来访问 harbor的话,也需要同时修改 daemon.json文件配置,并重启docker
问题2 - 重置harbor的admin密码
harbor的admin密码存储在 postgresql数据库中。如果忘记密码的话,可以使用SQL客户端连接postgre数据库,删除admin密码即可。
具体步骤:
- 修改docker-compose文件中:postgresql服务的端口导出:如ports: -5432:5432(5432是harbor postgresql的缺省端口)
- 使用任意客户端工具连接postgresql数据库,数据库缺省密码为 postgres / root123,数据库:registry
- 更新密码:update harbor_user set password='',salt='' where username='admin'
- 然后停止harbor服务:docker-compose down
- 重新生成配置文件 ./prepare
- 重启harbor:docker-compose up -d
以上就是docker客户端访问harbor及安装配置更新的详细内容,更多关于docker访问harbor安装配置的资料请关注脚本之家其它相关文章!