Bootstrap

Harbor安装、HTTPS配置、修改端口后不可访问?

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

END

;