我对 kubernetes (minikube) 有问题,并从 docker 上的本地镜像存储库中提取图像。
创建了 Docker 存储库:
docker run --entrypoint htpasswd registry:2 -Bbn zordon examplePassword > /mnt/LINUX/auth/htpasswd
docker run -d \
-p 5000:5000 \
--restart=always \
--name registry \
-v /mnt/LINUX/dockerreg:/var/lib/registry \
-v /mnt/LINUX/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
registry:2
然后我想用成功上传到本地存储库的图像创建简单的 pod:
curl localhost:5000/v2/_catalog
{"repositories":["car/configuration"]}
我还在 minikube 集群上创建了 secret :
kubectl create secret docker-registry docregkey --docker-server=localhost:5000 --docker-username=zordon --docker-password=examplePassword --docker-email=test@dock.mail
并定义简单的 Pod:
apiVersion: v1
kind: Pod
metadata:
name: private-reg
spec:
containers:
- name: private-reg-container
image: car/configuration:latest
imagePullPolicy: Always
restartPolicy: Always
imagePullSecrets:
- name: docregkey
不幸的是我静止不动:
Failed to pull image "car/configuration:latest": rpc error: code = Unknown desc = Error response from daemon: pull access denied for car/configuration, repository does not exist or may require 'docker login'
我该如何解决这个问题?
最佳答案
与我相同的问题是,当我使用本地 Docker 构建镜像时,该镜像未添加到 minikube 镜像列表中。
解决方法是手动添加图像:
minikube image load image-name:tag
关于Kubernetes 无法从私有(private) docker 镜像仓库拉取镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49639280/