![](/img/trans.png)
[英]k8s - Failed to pull image…Error response from daemon: pull access denied for {private_repo}, repository does not exist
[英]K8S Failed to pull image from local repo
我在Docker存儲庫中有一個映像。 我試圖從中創建POD,但K8S出現以下錯誤。
無法提取圖像“ cloudanswer:latest”:rpc錯誤:代碼=未知desc =獲取https://registry-1.docker.io/v2/:net / http:請求在等待連接時被取消(Client.Timeout超過了等待標題)
看來K8S正在連接到https://registry-1.docker.io/v2/,而不是從本地docker存儲庫獲取數據。
如何使K8S為本地docker存儲庫拍攝圖像?
Kubernetes支持您可以創建的一種特殊類型的秘密,該秘密將用於獲取Pod的圖像。 在這里更多細節
如果您在集群中使用單個節點 ,請確保該Docker映像在該節點上可用。 您可以通過檢查
docker image ls
還要將imagePullPolicy
設置為Never
,否則Kubernetes將嘗試下載圖像。
在多節點群集中 ,可以使用docker 登錄映像 。 使用本地注冊表:
docker run -d -p 5000:5000 --restart=always --name registry registry:2
現在正確標記圖像:
docker tag ubuntu <dns-name-of-machine>:5000/ubuntu
網絡中的所有節點都應該可以訪問運行注冊表容器的計算機的dns名稱
現在將您的映像推送到本地注冊表:
docker push <dns-name-of-machine>:5000/ubuntu
您應該可以將其拉回:
docker pull <dns-name-of-machine>:5000/ubuntu
現在,將您的yaml文件更改為使用本地注冊表。
應將imagePullPolicy設置為IfNotPresent以從本地docker存儲庫中提取圖像
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.