我试图从私人注册表拉图像,我得到这个错误:
我创建了一个名为myrelease的命名空间,我的helm命令来自我的chart文件夹:
helm install myrelease -n myrelease .
字符串
HTTP:服务器向HTTPS客户端提供HTTP响应
我已经做了所有需要docker接受不安全注册表的更改。
首先,我编辑所有节点上的每个/etc/docker/daemon. json:
{
"features": {
"buildkit": false
},
"insecure-registries" : [ "http://xx.xx.xx.xx:8082" ]
}
型
然后我尝试登录到我的repo通过:
docker login myrepo
型
我成功了
当我尝试安装我的helm chart,我做了以下配置:
created templates/secret.yaml:
apiVersion: v1
kind: Secret
metadata:
name: {{ .Values.imageCredentials.name }}
type: kubernetes.io/dockerconfigjson
data:
.dockerconfigjson: {{ template "imagePullSecret" . }}
型
我编辑了模板/_helper.tpl文件:
//added to the end of the file:
{{- define "imagePullSecret" }}
{{- with .Values.imageCredentials }}
{{- printf "{\"auths\":{\"%s\":{\"username\":\"%s\",\"password\":\"%s\",\"email\":\"%s\",\"auth\":\"%s\"}}}" .registry .username .password .email (printf "%s:%s" .username .password | b64enc) | b64enc }}
{{- end }}
{{- end }}
型
在我的价值观中。yaml我做:
image:
repository: xx.xx.xx.xx:8082/helloworldwar
pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion.
tag: "11"
imageCredentials:
name: nexuscreds
registry: xx.xx.xx.xx:8082/helloworld
username: xxxx
password: xxxx
email: xxxx@gmail.com
imagePullSecrets:
- name: nexuscreds
型
在docker info命令中,我列出了我不安全的repo:
Insecure Registries:
xx.xx.xx.xx:8082
127.0.0.0/8
型
我仍然得到错误:
HTTP:服务器向HTTPS客户端提供HTTP响应
1条答案
按热度按时间yacmzcpb1#
http:server给HTTPS客户端提供了HTTP响应此错误是由于没有在docker守护进程中分配适当的不安全注册表。
字符串
似乎你还没有按照上面不安全的注册表设置Docker守护程序。
127.0.0.0/8
这不应该在不安全的注册表中,而且您正在使用Linux服务器,并添加了Windows语法。所以,尝试将下面突出显示的linux语法和行添加到Docker的daemon.json文件中,并重新启动Docker Daemon:
语法格式:
{"insecure-registries":["host:port"]}
个型
host是托管我的docker注册表的服务器的主机名,port是docker注册表可用的端口,然后通过以下操作重新启动docker守护进程:
型
请参阅配置Docker守护进程和配置Docker with a configuration file以获取更多信息。
编辑:
型