Kubernetes 无法从私有(private) docker 镜像仓库拉取镜像

标签 kubernetes minikube

我对 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/

相关文章:

kubernetes - 在当前和 future 的节点上配置 kubelet

docker - 我想在正在运行的 docker 容器中使用 docker sdk,并想在正在运行的 docker 容器中构建一个 docker 镜像并将其部署在 minikube 中

docker - 无法在 MAC 机器中的 docker 容器内连接互联网

Kubernetes 无法在本地运行 docker 镜像构建

kubernetes - kubernetes应用程序停机

kubernetes - 在 Traefik 中从一个域重定向到另一个域

python - 从使用 Airflow KubernetesPodOperator 启动的 Pod 获取上下文

django - 如何在 nginx + django + kubernetes 中提供静态内容?

kubernetes - Prometheus 没有发现我的 Pod 监视器

kubernetes - 无法访问我的 minikube 集群内的服务