Docker K8S未能从本地回购中提取映像
我的docker存储库中有一个映像。我试图用它创建POD,但K8S给出了以下错误 未能拉取映像“cloudanswer:latest”:rpc错误:code=Unknown desc=Get:net/http:request在等待连接时被取消(等待标头时超出Client.Timeout) K8S似乎正在连接到而不是从本地docker存储库获取Docker K8S未能从本地回购中提取映像,docker,kubernetes,Docker,Kubernetes,我的docker存储库中有一个映像。我试图用它创建POD,但K8S给出了以下错误 未能拉取映像“cloudanswer:latest”:rpc错误:code=Unknown desc=Get:net/http:request在等待连接时被取消(等待标头时超出Client.Timeout) K8S似乎正在连接到而不是从本地docker存储库获取 如何使K8S为本地docker repo拍摄图像?imagePullPolicy应设置为IfNotPresent以从本地docker repo提取图像Ku
如何使K8S为本地docker repo拍摄图像?imagePullPolicy应设置为IfNotPresent以从本地docker repo提取图像Kubernetes支持一种特殊类型的秘密,您可以创建该秘密,用于为您的POD获取图像 如果在集群中使用单节点,请确保此docker映像在此节点上可用。 你可以通过
docker image ls
同时将imagePullPolicy
设置为Never
,否则Kubernetes将尝试下载图像
多节点集群,您可以使用docker。
使用本地注册表:
docker run -d -p 5000:5000 --restart=always --name registry registry:2
docker push <dns-name-of-machine>:5000/ubuntu
现在正确标记您的图像:
docker tag ubuntu <dns-name-of-machine>:5000/ubuntu
docker标签ubuntu:5000/ubuntu
运行注册表容器的计算机的dns名称应可由网络中的所有节点访问
现在将图像推送到本地注册表:
docker run -d -p 5000:5000 --restart=always --name registry registry:2
docker push <dns-name-of-machine>:5000/ubuntu
docker推送:5000/ubuntu
您应该能够将其拉回:
docker pull <dns-name-of-machine>:5000/ubuntu
docker pull:5000/ubuntu
现在将yaml文件更改为使用本地注册表。本地docker存储库是什么意思?如果您有一个私有注册表,您需要指定完整的图像名称(带有注册表),您可以运行docker登录吗?