解决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仓库

相关推荐
a***813917 分钟前
Node.js 与 Docker 深度整合:轻松部署与管理 Node.js 应用
docker·容器·node.js
IUGEI6 小时前
深入解析HTTP长连接原理
java·网络·后端·网络协议·tcp/ip·http·https
不爱笑的良田9 小时前
从零开始的云原生之旅(十二):从 Service 到 Ingress——K8s 服务暴露完全指南
云原生·容器·kubernetes
阿珊和她的猫9 小时前
HTTP:Web 世界的基石协议详解
前端·网络协议·http
conkl9 小时前
构建健壮的前端请求体系:从 HTTP 状态码到 Axios 实战
前端·网络协议·http
ringking12310 小时前
docker源文件配置以及密钥文件
运维·docker·容器
编织幻境的妖10 小时前
Docker和Kubernetes 常用命令
docker·容器·kubernetes
❀͜͡傀儡师12 小时前
docker-compose一键部署Hadoop集群
hadoop·docker·容器
java_logo13 小时前
BUSYBOX Docker 容器化部署指南
java·运维·python·nginx·docker·容器·运维开发
Linux运维技术栈16 小时前
从Docker到宝塔:Magento2 2.3.5 安装全流程踩坑与成功实践
运维·adobe·docker·容器·magento2