1

我在GCE運行的GKE集羣中工作,我是能夠建立+標記從Ubuntu的衍生圖像:16.04:GKE:泊塢登陸送花兒給人成功,但推甚至不具有有效憑據

/ # docker images 
REPOSITORY       TAG     IMAGE ID    
CREATED    SIZE 
eu.gcr.io/my-project/ubuntu-gcloud latest    a723e43228ae  7 minutes ago  347MB 
ubuntu        16.04    ebcd9d4fca80  7 days ago   118MB 

首先,我嘗試登錄到註冊表(如GKE文檔記錄) docker login -u oauth2accesstoken -p `curl -s "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token" -H "Metadata-Flavor: Google"|awk -F\" "{ print \$4 }"` eu.gcr.io`

然後是docker push命令失敗:

# docker push eu.gcr.io/my-project/ubuntu-gcloud 
The push refers to a repository [eu.gcr.io/my-project/ubuntu-gcloud] 
a3a6893ab23f: Preparing 
6e390fa7d62c: Preparing 
22b8fccbaf84: Preparing 
085eeae7a10b: Preparing 
b29983dd2306: Preparing 
33f1a94ed7fc: Waiting 
b27287a6dbce: Waiting 
47c2386f248c: Waiting 
2be95f0d8a0c: Waiting 
2df9b8def18a: Waiting 
denied: Unable to create the repository, please check that you have access to do so. 

令牌應該是有效的,在另一個例子,我能夠gcloud whatever與它;該服務帳戶對項目具有「編輯」角色。

最怪異的部分是,當我做docker login有明顯無效的憑證

[email protected] ~ $ docker login -u oauth2accesstoken -p somethingverystupidthatisreallynotmypasswordortoken123 eu.gcr.io 
Login Succeeded 

登錄總是成功。

我該怎麼做才能成功docker push到gcr.io?

回答

1

試試這個:

gcloud docker -- push eu.gcr.io/my-project/ubuntu-gcloud 

如果你想使用普通搬運工的命令,與GCR證書更新泊塢窗配置:

gcloud docker -a 

然後你就可以構建和推動泊塢窗相似圖片:

docker build -t eu.gcr.io/my-project/ubuntu-gcloud . 
docker push eu.gcr.io/my-project/ubuntu-gcloud 
+0

那麼這是一個雞蛋問題 - 我正在構建Ubuntu + gcloud的圖像用於構建和推送m y自己的碼頭圖像。對於最初推出的烘焙圖像,我需要推送沒有gcloud。我可以想到1024個解決方法,我只是想知道爲什麼這麼不清楚... – Misko

+0

Btw'gcloud preview':'錯誤:(gcloud)無效的選擇:'preview'.' – Misko

+0

@Misko看起來像'preview'現已棄用。 [發行說明](https://dl.google.com/dl/cloudsdk/release/RELEASE_NOTES)表示'gcloud preview docker'已移至'gcloud docker'。 –

相關問題