我正在通过臂架和skaffold构建docker映像。当我在skaffold build.artifacts.image中提供图像密钥service-1
时,将创建一个图像(名为“ service-1:SHA256”的图像),我可以通过docker image ls
看到它。然后在skaffold部署中,我提供kubectl命令,在该命令中拾取创建好的图像。在我的deployment.yaml清单文件中,仅指定spec.template.spec.containers.image:service-1
以上方法工作正常,但我想做掌舵人。我已经创建了头盔图表。但是helm无法从我的本地docker守护程序存储库中提取任何图像。如果指定当我看到docker image ls
时出现的image:service-1:SHA256,则会得到ErrImagePull。
为什么无法从本地Docker注册表中选择映像。我也不能docker pull 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描述期间获取以下内容
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 pull时:
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
。