[英]Unable to login to private docker registry from Jenkins
我正在尝试使用Jenkins来构建docker镜像并将其推送到私有注册表。 但是,在尝试docker login
命令时,出现此错误:
http: server gave HTTP response to HTTPS client
我知道这可能正在发生,因为未将私有注册表添加为不安全的注册表。 但是,如何在CI管道中解决此问题?
Jenkins是在Kubernetes集群上设置的,我正在尝试自动在集群上部署应用程序。
这与Jenkins CI管道或Kubernetes无关。 Jenkins将无法推送您的图像,直到按照以下任一步骤进行配置
您有两个选择
1)配置您的Docker客户端以通过HTTPS使用安全注册表。 这将包括设置自签名证书或从您本地的证书颁发机构获取证书。
2)第二种解决方案是通过未加密的HTTP连接使用注册表。 因此,如果您在kubernetes上运行docker。 您将必须在/etc/docker/daemon.json
配置daemon.json
文件。
PS:此文件可能不存在。 您将不得不创建它。
然后添加以下内容。 确保您更改URL以匹配您的Docker注册表
{
"insecure-registries" : ["myregistrydomain.com:5000"]
}
然后使用systemctl restart docker
或etc/init.d/docker restart
具体取决于集群上安装的linux distro版本
如果您有任何疑问,请告诉我
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.