Docker 桌面中的默认 docker 注册表

Default docker registry in Docker desktop

我正在通过 jib 和 skaffold 构建 docker 图像。当我在 skaffold build.artifacts.image 中提供图像键 service-1 时,会创建一个图像(名为 'service-1:SHA256' 的图像),我可以通过 docker image ls 看到它。然后在 skaffold deploy 中,我提供了 kubectl 命令,它在其中拾取创建的图像就好了。在我的 deployment.yaml 清单文件中,我只指定 spec.template.spec.containers.image :service-1

上面的方法没问题,但是我想做helm。我已经创建了掌舵图。但是 helm 无法从我的本地 docker 守护程序存储库中获取任何图像。如果我在看到 docker image ls 时指定 image:service-1:SHA256,我会得到 ErrImagePull.

为什么 helm 无法从我的本地 docker 注册表中选择图像。我也无法 docker 拉取 service-1:sha256。

正在使用的默认 docker 注册表是什么,kubectl 的 skaffold 如何能够正确拉取镜像,而 helm 和 docker 不能。

我也尝试了 skaffold+helm,但遇到了同样的问题。

apiVersion: skaffold/v2alpha3
kind: Config
metadata:
  name: service-1
build:
  artifacts:
    - image: service-1
      jib:
        project: com.sample.app:service-1
        args:
          - -Dmaven.test.skip
deploy:
  helm:
    releases:
      - name: service-1
        chartPath: service-1-chart
        values:
          image: service-1
        valuesFiles:
          - service-1-chart/values.yaml

在 pod describe 期间获取以下内容

  Normal   Scheduled  75s                default-scheduler        Successfully assigned default/service1-df75c747b-g6qfm to docker-desktop
  Normal   Pulling    29s (x3 over 74s)  kubelet, docker-desktop  Pulling image "service-1:e7d693388f7f26a062257408e3cfb5904da4749342729802eb9ac65fab6d2f31"
  Warning  Failed     27s (x3 over 73s)  kubelet, docker-desktop  Failed to pull image "service-1:e7d693388f7f26a062257408e3cfb5904da4749342729802eb9ac65fab6d2f31": rpc error: code = Unknown desc = Error response from daemon: pull access denied for service-1, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
  Warning  Failed     27s (x3 over 73s)  kubelet, docker-desktop  Error: ErrImagePull
  Normal   BackOff    2s (x4 over 72s)   kubelet, docker-desktop  Back-off pulling image "service-1:e7d693388f7f26a062257408e3cfb5904da4749342729802eb9ac65fab6d2f31"
  Warning  Failed     2s (x4 over 72s)   kubelet, docker-desktop  Error: ImagePullBackOff

当我尝试做 docker 拉:

Error response from daemon: pull access denied for service-1, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

如果您不想使用 Docker 注册表,而是直接从您的 Docker 守护程序 运行 镜像,则添加 imagePullPolicy: Never.