2017-05-08 80 views
8

當試圖將圖像推送到公共存儲庫碼頭集線器時發生此錯誤。我嘗試過的其他註冊管理機構沒有任何問題。碼頭推送錯誤「拒絕:請求訪問資源被拒絕」

我看了很多網站,博客包括StackOverflow,但仍然沒有明確的答案。

您可以嘗試如下複製此問題。

Image on local host

如屏幕截圖所示的上方,我有本地搬運工主機上的圖像aspc-mvc-app。如圖所示,它有3個標籤 - 1.0.5,1.0.5.latestlatest

假設我們正在嘗試使用的janedoe帳戶名在泊塢樞紐

每文檔上Docker.io和許多其他網站推,有3個步驟來推動。

(1)登錄

docker login "index.docker.io" -u janedoe -p <password> 

- >我得到Login Succeeded這是很好的!

(2)添加一個或多個標籤

3個標籤,我們只是標籤的latest

docker tag janedoe/aspc-mvc-app:latest janedoe/aspc-mvc-app 

- >提示符返回時沒有錯誤。到現在爲止還挺好。

(3)推

​​

- >這是其中所述錯誤發生。

如下面的截圖所示,初步檢查似乎直到你的錯誤否認發生罰款:請求訪問資源被拒絕

enter image description here

在步驟(2),我有嘗試了許多其他格式,包括以下。

docker tag janedoe/aspc-mvc-app:latest janedoe/aspc-mvc-app:latest 
docker tag janedoe/aspc-mvc-app janedoe/aspc-mvc-app:latest 

docker tag aspc-mvc-app:latest janedoe/aspc-mvc-app 
docker tag aspc-mvc-app janedoe/aspc-mvc-app:latest 

docker tag 306a8fd79d88 janedoe/aspc-mvc-app 
docker tag 306a8fd79d88 janedoe/aspc-mvc-app:latest 

全部都失敗,出現相同的錯誤。

作爲比較,具有相同的確切圖像,我沒有問題推到Azure容器註冊表。

由於Docker Hub非常流行,任何人都可以闡明這個祕密是什麼,或者是否有任何地方有詳細的文檔?

更新2017年5月9日

我相當了最新的碼頭工人CLI和服務器版本。現在,我的cli是17.05.0-ce-rc1,服務器是17.04.0-ce,如下所示。

enter image description here

+3

什麼版本的Docker?你不需要'docker login'index.docker.io''只需'docker login'。 –

+1

將docker更新到最新版本,重新啓動docker服務並重試。 – BMW

+2

在所有我認爲事情可能出錯的地方,這是Andy Shinn建議的登錄部分。我們仍然用'index.docker.io'獲得'Login Succeeded'的事實令人困惑,Docker Hub應該以IMO的警告作爲響應。無論如何,非常感謝安迪,問題解決了:) – SamDevx

回答

14

的解決方案是簡單地改變在步驟登錄的方式(1)。

docker login -u janedoe -p <password> 

其他一切都可以保持上述方式。該映像已成功推送到Docker Hub!

+3

爲什麼沒有爲我工作! – rick112358

+2

此解決方案適用於我。看來,在使用默認碼頭註冊表時,您必須省略HOST參數。 (試圖明確提供「docker.io」作爲主機參數是什麼讓我失望這個兔子洞)。 – pretzels1337

+0

如果仍然不起作用,請嘗試刪除文件 - 「〜/ .docker/config.json」並重新啓動docker服務 - 「service docker restart」。現在重新登錄如上所述省略docker-hub url。 –

5

我也有同樣的問題,但嘗試一些組合後,這工作。

無論何時您推送 - 即指docker.io/後跟註冊表路徑。

在我的情況,我的用戶名是rushmith和我創建了一個樣品庫稱爲下rushmith 泊塢窗

我的鏈接是:「hub.docker.com/r/rushmith/docker/」

現在我創造我的圖像標籤,我想爲推動:rushmith /泊塢窗

它工作成功。

$搬運工登錄-u rushmith

(給那麼密碼鍵入如下)

$搬運工推rushmith /泊塢窗:最新

輸出:

推送指的是一個倉庫[docker。IO/rushmith /搬運工]

7fbb0e1e64cb:推

33f1a94ed7fc:推

b27287a6dbce:推

47c2386f248c:推

2be95f0d8a0c:推

2df9b8def18a:推

最新:摘要:

SHA256:4d749d86b4a2d9304a50df474f6236140dc2d169b9aabc354cdbc6ac107390f2尺寸:1569

1

你可以按照下面的步驟:

第1步:docker login -u <username> -p <password>

與消息 「登錄成功」 的出現,證明您的成功登錄。

第2步: 現在,爲了推動圖像只是確保納入標籤,它使用的是必須有你的用戶名的路徑。

e.g:假設鏈接是:「hub.docker.com/u/xyz/」搬運工推XYZ /泊塢窗創建一個標籤圖像:最新

如果你已經擁有了它使用命令

docker tag <old tag> <new tag> 

希望這有助於一些不同的標籤變化。

10

1)首先在終端輸入sudo docker login登錄。輸入用戶名和密碼

2)訪問您的碼頭帳戶並創建一個新的存儲庫。在我來說,我創建了一個信息庫zawad1879/dockerhub

3)如果你有倉庫名碼頭工人形象:zawad/Django的和標籤:最新

在這種情況下,您需要爲您的願望標籤貼上此圖片。我決定給它貼上標籤:myfirstimagepush。您可以通過鍵入命令

sudo docker tag zawad/django:latest zawad1879/dockerhub:firstimagepush

4標記的圖像)使用命令

sudo docker push zawad1879/dockerhub:firstimagepush

這是所有有給它的圖像最後推到你的回購協議。

+0

你不應該使用sudo –

0

從網站創建存儲庫。

有可能您沒有創建存儲庫的權限。

-1

我有同樣的問題,它通過與sudo運行push命令解決。我認爲這只是一個特權問題。

sudo docker push janedoe/aspc-mvc-app