Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubectl创建部署无法从本地docker repo连接中提取映像被拒绝_Docker_Kubernetes_Kubectl_Docker Registry - Fatal编程技术网

Kubectl创建部署无法从本地docker repo连接中提取映像被拒绝

Kubectl创建部署无法从本地docker repo连接中提取映像被拒绝,docker,kubernetes,kubectl,docker-registry,Docker,Kubernetes,Kubectl,Docker Registry,我遇到了一个非常基本的错误: 我在windows 10机器上安装了docker desktop和minikube 此外,我还使用以下步骤设置了一个本地docker注册表。 以下是我运行docker ps时得到的: 我使用docker push将本地映像推送到本地注册表,并使用docker image remove命令删除本地映像以避免任何混淆 我现在尝试拉本地注册表图像,看看它是否有效,它确实有效 现在我运行kubectl create命令,它们失败,出现错误连接被拒绝 kubectl创建部署m

我遇到了一个非常基本的错误:

  • 我在windows 10机器上安装了docker desktop和minikube
  • 此外,我还使用以下步骤设置了一个本地docker注册表。 以下是我运行docker ps时得到的:
  • 我使用
    docker push
    将本地映像推送到本地注册表,并使用
    docker image remove
    命令删除本地映像以避免任何混淆
  • 我现在尝试拉本地注册表图像,看看它是否有效,它确实有效
  • 现在我运行kubectl create命令,它们失败,出现错误
    连接被拒绝

    kubectl创建部署myweb--image=localhost:5000/dev/myweb:v1 deployment.apps/myweb已创建 C:\>kubectl得到豆荚 名称就绪状态重新启动 myweb-7d467f4bc4-r9xhc 0/1错误图像拉取0 12s C:\>kubectl描述pod/myweb-7d467f4bc4-r9xhc 名称:myweb-7d467f4bc4-r9xhc 名称空间:默认值 优先级:0 节点:minikube/172.17.0.3 开始时间:2020年8月9日星期日23:30:07-0400 标签:app=myweb pod模板哈希=7d467f4bc4 注释: 状态:待定 IP:172.18.0.3 IPs: IP:172.18.0.3 控制人:ReplicaSet/myweb-7d467f4bc4 容器: 我的网站: 容器ID: 图片:localhost:5000/dev/myweb:v1 图像ID: 端口: 主机端口: 国家:等待 原因:图像拉回 就绪:错误 重新启动计数:0 环境: 挂载: /来自default-token-nr7vj(ro)的var/run/secrets/kubernetes.io/serviceCount 条件: 类型状态 初始化为True 准备错误 集装箱准备好了吗 播客预定为真 卷数: default-token-nr7vj: 类型:Secret(由Secret填充的卷) SecretName:default-token-nr7vj 可选:false QoS等级:最佳努力 节点选择器: 容差:node.kubernetes.io/未就绪:不执行300秒 node.kubernetes.io/不可访问:不执行300秒 活动: 从消息中键入原因年龄 ---- ------ ---- ---- ------- 正常计划的93s默认计划程序已成功将default/myweb-7d467f4bc4-r9xhc分配给minikube 正常拉动53秒(x3/92秒)kubelet,minikube拉动图像“localhost:5000/dev/my-web:v1” 警告失败53s(x3/92s)kubelet,minikube无法从守护进程获取映像“localhost:5000/dev/my-web:v1”:rpc错误:code=Unknown desc=错误响应:Gethttp://localhost:5000/v2/: 拨打tcp 127.0.0.1:5000:连接:连接被拒绝 警告失败53s(x3超过92s)kubelet,minikube错误:ErrImagePull 正常回退13秒(x5/91s)kubelet,minikube回退图像“localhost:5000/dev/my-web:v1” 警告失败13秒(x5超过91秒)kubelet,minikube错误:ImagePullBackOff 当我尝试使用
    kubectl
    命令而不是
    docker pull
    命令时,我无法理解为什么会出现连接拒绝错误

    请帮忙


    其他注意事项:(1)我正在使用内置windows系统管理程序(2)使用默认网络

    嗯,Kubernetes找不到您的注册表。这取决于您的设置,但Docker for Windows在虚拟机中运行,您没有指定如何运行minikube,但很可能在另一个虚拟机中运行。因此,这里可能有两个虚拟机,它们可以或不能相互通信,具体取决于您如何设置它们

    localhost
    几乎永远不会与Kubernetes一起工作,因为在提取映像时,它总是解析为Kubernetes节点的本地IP。这意味着您必须让您的注册表和kubelet在完全相同的VM上拖动映像

    我只想让它与注册表运行的VM IP地址一起工作,并确保Kubernetes VM可以访问注册表VM IP地址。另外,请记住,在运行注册表时,您还必须公开容器端口,在这种情况下
    5000

    另外,您没有指定您正在运行的虚拟机监控程序?虚拟箱?VMware?你在使用桥接网络吗?仅主机❓


    ✌️

    我现在更新了我的问题。是的,它们在两个独立的容器中运行。如何确保minkube容器可以访问注册表VM IP?它们是否都在同一个VM上运行?
    c:\>docker ps
    CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS              PORTS                                                                                                      NAMES
    6675d2c57a74        registry:2                            "/entrypoint.sh /etc…"   7 hours ago         Up 2 hours          0.0.0.0:5000->5000/tcp                                                                                     registry
    d05edc8f05b0        gcr.io/k8s-minikube/kicbase:v0.0.10   "/usr/local/bin/entr…"   8 hours ago         Up 8 hours          127.0.0.1:32771->22/tcp, 127.0.0.1:32770->2376/tcp, 127.0.0.1:32769->5000/tcp, 127.0.0.1:32768->8443/tcp   minikube
    
        docker pull localhost:5000/dev/my-web:v1
    
        v1: Pulling from dev/my-web
        Digest: sha256:b3a0cf5c66ade8d39709c0cbbd0e08c9cc5f5e1c97f039a2bd1afed657dc8b74
        Status: Downloaded newer image for localhost:5000/dev/my-web:v1
        localhost:5000/dev/my-web:v1