2017-01-22 56 views
0

我第一次使用Kubernetes,并且试图引用私有DockerHub映像时有一段讨厌的时间。如何引用Kubernetes中的私有DockerHub映像?

在YAML,这是我有:

.... many other lines 
-image: registry.hub.docker.com/MY_DOCKER_HUB_USERNAME/MY_IMAGE_NAME:latest 

我得到的错误说

Failed to pull image "registry.hub.docker.com/MY_DOCKER_HUB_USERNAME/MY_IMAGE_NAME:latest": 
image pull failed for registry.hub.docker.com/MY_DOCKER_HUB_USERNAME/MY_IMAGE_NAME:latest, 
this may be because there are no credentials on this request. 
details: (Error: image MY_DOCKER_HUB_USERNAME/MY_IMAGE_NAME not found) 

现在,我是一个总的无知者,当谈到Kubernetes配置,但到目前为止,我哪里出错了?

+0

可能https://开头通过http://stackoverflow.com/questions/32726923/pulling-images-from-private-registry-in-kubernetes – larsks

+0

我犯的一个错误是没有使用'docker.io'作为我的图像的域名。 –

+0

我应该说'docker.io/MY_DOCKER_HUB_USERNAME/MY_IMAGE_NAME' –

回答

1

这里是如何创建一个密钥为您的私人档案库中部署一个参考它的一个例子:

  1. 创建密钥

    kubectl create secret docker-registry myregistrykey --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL 
    
  2. 使用它在部署

    apiVersion: extensions/v1beta1 
    kind: Deployment 
    metadata: 
        name: example 
        namespace: default 
    spec: 
        replicas: 1 
        strategy: 
        rollingUpdate: 
         maxSurge: 1 
         maxUnavailable: 0 
        type: RollingUpdate 
        template: 
        metadata: 
         labels: 
         run: example 
        spec: 
         containers: 
         - name: example 
         image: myregistryrepo/myimage:latest 
         ports: 
         - containerPort: 80 
          name: http 
         imagePullPolicy: Always 
         imagePullSecrets: 
         - name: myregistrykey 
    
+0

这是否适用于AWS ECR? –

+0

是的,只需使用'aws ecr get-login'来检索您的凭证,然后创建如下秘密: 'kubectl create secret docker-registry myregistrykey --docker-serverttps://xxxxx.dkr.ecr.us-east -1.amazonaws.com --docker-username = AWS --docker-password = DOCKER_PASSWORD --docker-email = none' – Camil

+1

如果部署到AWS,请将云提供程序设置为“aws”,并自动处理凭据为你。此外,如果不在AWS中,您可以查看此回购(https://github.com/upmc-enterprises/registry-creds),它将像@Camil所建议的那样处理您的信用。 –

相关问题