Docker Kubernetes从Jfrog容器注册表中提取图像会得到ImagePullBackOFF-x509

Docker Kubernetes从Jfrog容器注册表中提取图像会得到ImagePullBackOFF-x509,docker,ssl,kubernetes,minikube,jfrog-container-registry,Docker,Ssl,Kubernetes,Minikube,Jfrog Container Registry,我在本地开发环境中工作 OS: Ubuntu (bionic) 18.0.4 LTS Minikube Version: v1.11.0 Docker Version: 19.03.10 我使用Jfrog容器注册表作为minikube的注册表。我能够做到以下几点: docker登录本地主机:443 |或| ip地址:443 docker推送ip地址:443/docker本地/测试:最新 docker pull ip地址:

我在本地开发环境中工作

    OS:
       Ubuntu (bionic) 18.0.4 LTS    
    Minikube Version:
       v1.11.0
    Docker Version:
       19.03.10
我使用Jfrog容器注册表作为minikube的注册表。我能够做到以下几点:

  • docker登录本地主机:443 |或| ip地址:443
  • docker推送ip地址:443/docker本地/测试:最新
  • docker pull ip地址:443/docker本地/测试:最新
  • 我已将Jfrog容器注册表配置为在端口443上侦听的Nginx反向代理之后运行。已创建自签名证书,Jfrog正在使用这些证书

    将docker配置为使用自签名证书,如下所示

  • 创建证书,将其复制到/usr/local/share/ca证书/
  • sudo更新ca证书
  • 将证书复制到/etc/docker/cert.d/192.168.0.114:443/ca.crt
  • 重新启动docker,只是确保
  • 将K8配置为使用docker login secret by.yaml文件,如下所示:

  • base64编码~/.docker/config.json
  • 在以下模板中使用它
  • 在deployment.yaml中,我使用ImagePullSecrets和name标志

    现在,在完成了docker pull在终端上的所有设置之后,我在POD上得到了一个错误,即X509IP SAN

    我查阅了很多文档和最近发布的K8问题


    这些步骤没有成功。有人能告诉我我做错了什么吗?我如何更正它。

    是否可以从kubernetes节点或集群访问docker注册表?使用来自任何节点的telnet命令进行检查。@JaskaranSingh ssh进入docker,并对ip地址192.168.0.114运行curl,它正在工作。我认为网络存在,ssl tls验证中存在错误。我得到的错误是-x509:无法验证192.168.0.114的证书,因为它不包含任何IP。我是否正确理解您的主机上安装了JFrog容器注册表的Docker,并且您的主机上还有一个尝试连接到注册表的minikube?你能告诉我你是如何创建证书的吗?你有没有试着直接用Docker从minikube实例中拉/推图像?@DawidKruk你说得对,我的基本主机系统ubuntu中安装了Docker。minikube和docker安装的K8安装在基本主机系统中。Docker pull/push正在主机中工作。在JaskaranSingh的想法之后。我使用docker cp src sys:host sys将ca证书放入/etc/docker/certs.d/192.168.0.114:443/ca.certIs您的docker注册表是否可以从kubernetes节点或集群访问?使用来自任何节点的telnet命令进行检查。@JaskaranSingh ssh进入docker,并对ip地址192.168.0.114运行curl,它正在工作。我认为网络存在,ssl tls验证中存在错误。我得到的错误是-x509:无法验证192.168.0.114的证书,因为它不包含任何IP。我是否正确理解您的主机上安装了JFrog容器注册表的Docker,并且您的主机上还有一个尝试连接到注册表的minikube?你能告诉我你是如何创建证书的吗?你有没有试着直接用Docker从minikube实例中拉/推图像?@DawidKruk你说得对,我的基本主机系统ubuntu中安装了Docker。minikube和docker安装的K8安装在基本主机系统中。Docker pull/push正在主机中工作。在JaskaranSingh的想法之后。我使用docker cp src sys:host sys将ca证书放入/etc/docker/certs.d/192.168.0.114:443/ca.cert
    apiVersion: v1
    kind: Secret
    metadata:
     name: myregistrykey
     namespace: awesomeapps
    data:
     .dockerconfigjson: UmVhbGx5IHJlYWxseSByZWVlZWVlZWVlZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGx5eXl5eXl5eXl5eXl5eXl5eXl5eSBsbGxsbGxsbGxsbGxsbG9vb29vb29vb29vb29vb29vb29vb29vb29vb25ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubmdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2cgYXV0aCBrZXlzCg==
    type: kubernetes.io/dockerconfigjson