Harbor安装、HTTPS配置、修改端口后不可访问?
大家好,我是秋意零。今天分享Harbor相关内容,安装部分可完全参考官方文档,写的也比较详细。
安装Harbor
官方文档:https://goharbor.io/docs/2.12.0/install-config/
参考:https://blog.csdn.net/qq359605040/article/details/129025958
配置Harbor仓库HTTPS协议
官方文档:https://goharbor.io/docs/2.12.0/install-config/configure-https/
参考:https://blog.csdn.net/networken/article/details/107502461
修改Harbor端口后不可访问?
修改端口
1)编辑harbor.yml配置文件,修改对应端口
vim harbor.yml
2)修改配置后,执行prepare脚本重新生成配置
./prepare
3)重启Harbor
docker compose down && docker compose up -d
报错信息
修改端口后,命令行登录Harbor报错:tls: failed to verify certificate: x509: certificate signed by unknown authority
1)docker login
docker login -u admin -p Harbor12345 https://registry.xxxxx.com:8443
2)nerdctl login
nerdctl -n k8s.io login -u admin -p Harbor12345 registry.xxxxxx.com:8443
操作处理
1)docker login
/etc/docker/certs.d/
是 Docker
的配置目录,用于管理私有镜像仓库的证书或信任配置。
它确保 docker
CLI 或 dockerd
守护进程在与镜像仓库通信时能够正确处理 HTTPS 请求。
mv /etc/docker/certs.d/registry.xxxxxx.com/ /etc/docker/certs.d/registry.xxxxxx.com:8443/
systemctl restart docker
docker login -u admin -p Harbor12345 https://registry.xxxxxx.com:8443
2)nerdctl login
/etc/containerd/certs.d/
是 containerd
的配置目录,用于配置私有镜像仓库的 TLS 证书或信任配置。
它主要用于确保在使用 containerd
拉取或推送镜像时,正确处理 HTTPS 连接的安全性。
$ cat /etc/containerd/certs.d/registry.xxxxxx.com/hosts.toml
[host."https://registry.xxxxxx.com:8443"] # 修改此处 添加端口号
capabilities = ["pull", "resolve", "push"]
skip_verify = true
$ mv /etc/containerd/certs.d/registry.xxxxxx.com/ /etc/containerd/certs.d/registry.xxxxxx.com:8443
$ systemctl restart containerd