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
无法从minikube docker提取图像_Docker_Kubernetes_Minikube - Fatal编程技术网

无法从minikube docker提取图像

无法从minikube docker提取图像,docker,kubernetes,minikube,Docker,Kubernetes,Minikube,当我尝试在集群中运行容器时,会收到一条消息“部署测试已创建”,但当我查看仪表板时,我可以看到它处于错误状态(无法提取映像…),由于授权问题,它无法从本地minikube docker env提取映像 我的步骤是: 使用hyperv启动minikube,并将--不安全注册表设置为10.0.0.0/8,也尝试了0.0.0.0/0-Kubernetes 1.9.0版也尝试了1.8.0 通过minikube-docker-env|Invoke表达式将docker-env设置为minikube-docke

当我尝试在集群中运行容器时,会收到一条消息“
部署测试已创建”
,但当我查看仪表板时,我可以看到它处于错误状态(
无法提取映像…
),由于授权问题,它无法从本地minikube docker env提取映像

我的步骤是:

  • 使用hyperv启动minikube,并将
    --不安全注册表设置为10.0.0.0/8,也尝试了0.0.0.0/0-Kubernetes 1.9.0版也尝试了1.8.0
  • 通过
    minikube-docker-env|Invoke表达式将
    docker-env
    设置为minikube-docker
  • 生成docker映像-映像生成并存在于minikube本地docker中
  • kubectl运行测试--图像测试服务--端口1101
  • 结果是:


    我遗漏了什么?

    如评论中所述,
    openfaas/faas netes
    第135期阐述了一个类似的问题,并作为可能的解决方案提到:

    imagePullPolicy
    如果未提及,应默认为
    从不
    ,而不是
    始终

    当时的情况是:

    我意识到这不是授权问题,而是它总是想从外部回购中获利。
    我的解决办法是使用
    IfNotPresent
    imagePullPolicy


    这也发生在我身上,重要的是检查发送和检索图像的策略,有一些方法如某些论坛中所述,您可以通过如下设置首选项的注册表来启动minikube,即路径

    $ minikube start --cpus 2 --disk-size 50g --memory 5000 --insecure-registry your.registry.com:5000
    
    另一种方法是在minikube开始时,通过docker env显示环境变量,如下所示,并在命令后生成图像的构建

    $ eval $(minikube docker-env)
    

    另一种方法是通过docker load将图像导入现有文件。

    在容器定义中设置以下属性:

    imagePullPolicy: IfNotPresent
    
    例如:

      ...
      containers:
        - name: podhealthexample
          image: podhealth-pod-a:latest
          ports:
            - containerPort: 80
          imagePullPolicy: IfNotPresent
    

    此外-我现在也尝试了Docker提供的新内置本地kubenetes解决方案-相同的结果…我在这里记录了这个问题,它类似于吗?我想没有像中那样的拼写错误?@VonC虽然这不完全是我的问题,但它确实为我指明了正确的方向-我意识到这不是一个auth问题,但它总是想从外部回购中撤出。我的解决办法是使用IfNotPresent的imagePullPolicy,但正是你的链接引导我走上了这条道路,所以在回答中猛击一下,100分是你的:-)对不起,耽搁了,这是我这边的夜间;)