我第一次使用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 :(得分:1)
以下是一个示例,说明如何为私有存储库创建一个密钥,并在部署中引用它:
创建密钥
kubectl create secret docker-registry myregistrykey --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL
在部署中使用它
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