image - Kubernetes Minikube Docker尝试提取镜像失败

标签 image docker kubernetes minikube

我有一个名为docker-hello-world的docker镜像-它所做的只是使用JRE将Hello World打印到日志中。经过测试后,它可以正常工作。

然后,我将镜像导入Kubernetes Docker并运行-仍然没有问题。

docker images -a
REPOSITORY                                             TAG                 IMAGE ID            CREATED             SIZE
docker-hello-world                                     latest              9a161d166742        20 hours ago        83.17 MB
  • 当我尝试使用kubectl run docker-hello-world --image=docker-hello-world:latest部署到Kubernetes时,这里出了点问题–我也尝试了图片ID,但我不明白为什么找不到图片。

  • 它说部署已创建。
    kubectl get deployments
    NAME                 DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
    docker-hello-world   1         1                1                   0           24s
    
    kubectl get pods
    NAME                                                READY     STATUS         RESTARTS   AGE
    docker-hello-world-67c745cff4-sv77d   0/1       ErrImagePull   0          43s
    

    日志:
    kubectl logs docker-hello-world-67c745cff4-sv77d
    Error from server (BadRequest): container "docker-hello-world" in pod "docker-hello-world-67c745cff4-sv77d" is waiting to start: trying and failing to pull image
    

    我不确定为什么找不到图片。

    但是,如果我从Minikube内部进行操作:
    docker build -t dummy:v1 ~/eclipse-workspace/HelloWorld/bin/  
    

    (我真的不想再次生成图像)
    docker images
    REPOSITORY                                             TAG                 IMAGE ID            CREATED             SIZE
    dummy                                                  v1                  beae3bfd2327        32 seconds ago      83.17 MB
    
    kubectl run --image=dummy:v1 dummy
    deployment "dummy” created
    
    kubectl get deployments
    NAME           DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
    dummy          1                1           1                   0           11s
    
    kubectl get pods
    NAME                            READY     STATUS      RESTARTS   AGE
    dummy-8496dd7d84-t4h66          0/1       Completed   4          1m
    
    kubectl logs dummy-8496dd7d84-t4h66
    Hello, World
    

    看来还可以

    最佳答案

    图像docker-hello-world:latest的版本标签为latest,它指示默认的ImagePullPolicyAlways(有关v1.9.x及更高版本,请参见pkg/apis/core/v1/defaults.go)。它将尝试从集线器中提取图像,而不使用已存在的图像。

    一个选项是设置特定的标签,而不是latest

    关于image - Kubernetes Minikube Docker尝试提取镜像失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48592157/

    相关文章:

    docker - kubectl logs -f 如何影响 CPU 和 RAM 使用情况?

    bash - 'mv' 命令抛出错误但在 docker 中执行正常

    docker - 兼容模式不支持以下部署子键

    python - 在只读容器中运行Flask服务

    kubernetes - 使用 operator-sdk 或一般部署的 Kubernetes 中的 Controller 的协调时间是多少?您可以设置自定义时间进行侦察吗?

    kubernetes - 从kubernetes中的环境变量创建tls secret

    c++ - Halide Jit 编译

    python - Python 的 DXT 压缩

    java - 在 Android 中 move 图像

    html - CSS 将图像裁剪到特定尺寸