在Kubernetes Pod中更改Docker Registry的位置

时间:2018-08-31 06:27:47

标签: docker kubernetes

我是Kubernetes的新手。最近,我的Docker注册表URL从dockerhub.abc.com更改为dockerhub.def.com。我是否可以在Kubernetes pod的属性中更改此设置,以便下次从新注册表中提取?

2 个答案:

答案 0 :(得分:1)

如果您使用机密信息来保存Docker注册表的授权令牌,则可以参考using private registry

我建议您使用机密。您需要做的就是创建一个新的机密或使用新的URL更新现有的机密,然后将此机密添加到Pod的.yaml中。

apiVersion: v1
kind: Pod
metadata:
  name: private-reg
spec:
  containers:
  - name: private-reg-container
    image: <your-private-image>
  imagePullSecrets:
  - name: <your-secret-name>

答案 1 :(得分:1)

通常,如果您明确限定映像名称以包含存储库名称,并且不依赖于非官方Docker Hub的默认值,您会发现最简单

image: dockerhub.abc.com/dist/image:1.2.3

在这种情况下,您只需更改部署中的映像名称即可

image: dockerhub.def.com/dist/image:1.2.3

如果您使用Helm之类的系统来管理Kubernetes清单,则可能会发现在其值文件中包含映像库名称和/或存储库会有所帮助

image: dockerhub.abc.com/dist/image
tag: 1.2.3

image: {{ printf "%s:%s" .Values.image .Values.tag }}

然后您可以更改映像的存储库位置并重新部署。