解决kubesphere流水线docker登陆错误http: server gave HTTP response to HTTPS client

kubesphere DevOps流水线中,在登录私有的harbor仓库时,报以下错误

复制代码
+ docker login 111.230.19.120:80 -u admin -p test123.
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get "https://111.230.19.120:80/v2/": http: server gave HTTP response to HTTPS client
script returned exit code 1

原因:

默认情况下,Docker 要求镜像仓库使用 HTTPS 来保证通信的安全。如果仓库没有使用 HTTPS 或者证书不是由受信任的证书颁发机构签发的,Docker 客户端将无法与其建立连接。

解决方案:

kubesphere集群中节点的docker,需要配置docker支持该私有harbor仓库的http访问

在K8S集群的所有节点,执行以下操作

1、配置daemon.json文件
复制代码
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://chqac97z.mirror.aliyuncs.com"]
  ,"insecure-registries":["https://111.230.19.120"]
  ,"registry-mirrors":["https://111.230.19.120"]
}
EOF

其中:

  • registry-mirrors:配置的是阿里云镜像加速,该文的问题不需要配置该项
  • insecure-registries:允许 Docker 客户端连接到没有使用 HTTPS 或使用了自签名证书的 Docker 镜像仓库
  • 111.230.19.120:80:是我的harbor地址,需要替换成你的地址
  • registry-mirrors:必须配置你的harbor仓库!!!否则可能造成,docker login是成功的,但是push镜像时出现相同的问题!!!
2、使配置生效
复制代码
systemctl daemon-reload
systemctl restart docker

重新允许流水线,发现已成功登录harbor仓库

相关推荐
椰汁菠萝5 分钟前
docker部署gitlab
docker·容器·gitlab
知识分享小能手9 分钟前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04 中安装 Docker 容器 —— 知识点详解(26)
学习·ubuntu·docker
Gold Steps.35 分钟前
K8s Gateway-API 标准化流量治理
容器·kubernetes·gateway
五仁火烧42 分钟前
HTTP 服务器
服务器·网络·网络协议·http
Knight_AL42 分钟前
使用 Docker 快速安装 GitLab(CentOS)
docker·centos·gitlab
五仁火烧1 小时前
Vite和HTTP 服务器
服务器·网络协议·http·vue
牛奔2 小时前
Docker Compose 解决服务间 DNS 解析失败问题
运维·docker·容器
fy zs2 小时前
HTTP协议与HTTPS
网络协议·http·https
L1624763 小时前
Docker 安装部署全流程使用指南(Linux 通用版)
linux·docker·容器
Mr. Cao code3 小时前
MySQL数据卷实战:持久化存储秘籍
数据库·mysql·docker·容器