2017-07-28 40 views
0

我是Docker的新手,試圖遵循官方get started指南。Docker總是說未經授權:推送圖像時需要驗證

當我想登錄時,輸入docker login,然後輸入登錄名和密碼。它輸出「登錄成功」。但是當我想用docker push drazik/get-started:part1推送圖像時,它會輸出「未授權:需要驗證」。

我絕對相信我的登錄名/密碼是好的。但有一點奇怪:我可以輸入任何我想要的用戶名和密碼,docker login總是輸出「login suceeded」。

我的碼頭版本是「1.13.1,build 27e468e/1.13.1」。

有人可以弄清楚什麼是錯的嗎?非常感謝你。

+0

什麼是進入,當你使用的登錄'泊塢窗閱讀登錄'? –

回答

0

請注意,登錄時生成的授權令牌將保存到~/.docker/config.json中,並且在您推送圖像時從該文件讀取。

所以,這裏是唯一的方法這樣的情況可能發生:

1-

您正在使用的帳戶上DockerHub與登錄名:mylogin(除了drazik)

你創建一個本地圖像是這樣的:

docker build -t drazik/get-started:part1 . 

您登錄碼頭工人這樣說:

% docker login 
Username: mylogin 
Password: ******** 

然後你把這個圖片的方式:

% docker push drazik/get-started:part1 
The push refers to a repository [docker.io/drazik/get-started:part1] 
5bef08742407: Preparing 
unauthorized: authentication required 

因此,這意味着你不使用的帳戶drazik登錄,但一個又一個。

2-

你不共享相同的本地帳戶登錄,創建圖像,推動圖像(例如,您登錄到DockerHub本地root用戶,您所創建的圖像爲根,但是你把圖像作爲一個簡單的用戶來推送)。

因此,授權令牌將保存到〜根/ .docker/config.json但docker push試圖從用戶的〜/ .docker/config.json

相關問題