如何从Kubernetes Pod从Docker Store中提取图像

时间:2018-03-01 19:29:15

标签: docker kubernetes dockerhub

按照以下链接后,我可以从我的Pod中成功地在Docker Hub中提取私有图像:Pull from Private repo

但是,尝试拉出Docker Store图像似乎不起作用。

我可以使用docker pull store/oracle/database-instantclient:12.2.0.1在我的桌面上本地提取此商店图片,并将相同的凭据作为保密存储在Kubernetes中。

从Kubernetes Pods中提取Docker Store映像的正确方法是什么?

我的私人仓库/图片的工作pod配置:

image: index.docker.io/<privaterepo>/<privateimage>

我在我的pod配置中尝试了以下操作,没有工作:

image: store/oracle/database-instantclient:12.2.0.1

image: oracle/database-instantclient:12.2.0.1

image: index.docker.io/oracle/database-instantclient:12.2.0.1

image: index.docker.io/store/oracle/database-instantclient:12.2.0.1

以上所有尝试都会返回相同的错误(使用不同的图像路径):

Failed to pull image "store/oracle/database-instantclient:12.2.0.1": rpc error: code = Unknown desc = Error response from daemon: repository store/oracle/database-instantclient not found: does not exist or no pull access

1 个答案:

答案 0 :(得分:1)

我设法通过我的docker登录设置秘密在minikube中运行:

kubectl create secret docker-registry dockerstore \
    --docker-server=index.docker.io/v1/ \
    --docker-username={docker store username} \
    --docker-password={docker store password} \
    --docker-email={your email}

然后kubectl create -f testreplicaset.yaml

on

#testreplicaset.yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: oracle-instantclient
  labels:
    app: oracle-instantclient
spec:
  replicas: 1
  selector:
    matchLabels:
      app: oracle-instantclient
  template:
    metadata:
      labels:
        app: oracle-instantclient 
    spec:
      containers:
      - name: oracle-instantclient-container
        image: store/oracle/database-instantclient:12.2.0.1
        env:
        ports:
      imagePullSecrets:
      - name: dockerstore

我无法准确地说出它为什么不适合你,但如果你进入你的kubernetes节点并在那里尝试docker pull,它可能会提供更多线索。