繁体   English   中英

无法从Jenkins登录到私有Docker注册表

[英]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 dockeretc/init.d/docker restart具体取决于集群上安装的linux distro版本

如果您有任何疑问,请告诉我

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM