3

編輯:我只是要指責這一點在平臺不一致。我已經放棄了現在推送到Google雲容器註冊表的工作,並且已經創建了一個Ubuntu VM,我正在做這件事。我也投票結束了這個問題,出於前面所述的原因,並且也應該首先詢問服務器故障。感謝大家的幫助!如何推送容器到Google容器註冊表(無法創建存儲庫)

運行$ gcloud docker push gcr.io/kubernetes-test-1367/myapp結果:

The push refers to a repository [gcr.io/kubernetes-test-1367/myapp] 
595e622f9b8f: Preparing 
219bf89d98c1: Preparing 
53cad0e0f952: Preparing 
765e7b2efe23: Preparing 
5f2f91b41de9: Preparing 
ec0200a19d76: Preparing 
338cb8e0e9ed: Preparing 
d1c800db26c7: Preparing 
42755cf4ee95: Preparing 
ec0200a19d76: Waiting 
338cb8e0e9ed: Waiting 
d1c800db26c7: Waiting 
42755cf4ee95: Waiting 
denied: Unable to create the repository, please check that you have access to do so. 

$ gcloud init結果:

Welcome! This command will take you through the configuration of gcloud. 

Settings from your current configuration [default] are: 
[core] 
account = <my_email>@gmail.com 
disable_usage_reporting = True 
project = kubernetes-test-1367 
Your active configuration is: [default] 

注:這是Kubernetes: Unable to create repository重複,但我想他的解決方案,並沒有幫助我。我試着追加:v1/v1,並使用us.gcr.io

編輯:附加信息

$ gcloud --version 
Google Cloud SDK 116.0.0 

bq 2.0.24 
bq-win 2.0.18 
core 2016.06.24 
core-win 2016.02.05 
gcloud 
gsutil 4.19 
gsutil-win 4.16 
kubectl 
kubectl-windows-x86_64 1.2.4 
windows-ssh-tools 2016.05.13 

+

$ gcloud components update 

All components are up to date. 

+

$ docker -v 
Docker version 1.12.0-rc3, build 91e29e8, experimental 
+0

我想你已經檢查了權限的控制檯上或通過'的gsutil acl get gs:// us.artifacts.kubernetes-test-1367.appspot.com'或類似的東西? – ldg

+0

@Idg給我這個:'BucketNotFoundException:404 gs://us.artifacts.kubernetes-test-1367.appspot.com存儲桶不存在.' –

+0

是的,沒有您的要求的信用,我們不會創建桶。 – mattmoor

回答

2

我仍然無法從我的本地機器推碼頭工人的形象,但授權計算實例與我的帳戶,並從那裏推出一個圖像的作品。如果遇到這個問題,我建議創建一個Compute Engine實例(爲自己),授權一個gcloud auth的帳戶,可以推送容器,並從那裏推送。我有我的源代碼在Git倉庫中,我可以從中獲取代碼。

+2

我希望我不必這樣做。似乎是c。。 – the0ther

+1

@你不知道。作者最有可能只允許服務帳戶使用Container Engine管理員。要推送到註冊表,您還需要啓用雲存儲管理員。安德魯你能證實這一點(儘管事實上這個問題已經過去了一年)? – Overdrivr

+1

是的,自從我上次來到這裏以來,我一直在GCR上進行過很多次運動,現在我在使用它@Overdrivr時真的沒有任何問題。我現在還有其他Google Cloud問題。在我身上揮舞拳頭Cloud Endpoints! – the0ther

0

好像你正在嘗試從Google C運行gcloud docker push ompute引擎實例沒有對Google雲端存儲的讀/寫訪問的適當安全範圍(Google Container Registry將場景中的容器映像存儲在此處)。

試圖創建另一個實例,但這次適當的訪問範圍,即:

gcloud compute --project "kubernetes-test-1367" instances create "test" --zone "us-east1-b" --machine-type "n1-standard-1" --network "default" --scopes default="https://www.googleapis.com/auth/logging.write","https://www.googleapis.com/auth/monitoring.write","https://www.googleapis.com/auth/servicecontrol","https://www.googleapis.com/auth/service.management","https://www.googleapis.com/auth/devstorage.full_control" --image "/debian-cloud/debian-8-jessie-v20160629" --boot-disk-size "10" --boot-disk-type "pd-standard" --boot-disk-device-name "test-1" 

一旦你創建新實例,ssh進入它,然後嘗試重新運行gcloud docker push gcr.io/kubernetes-test-1367/myapp命令

+0

我在本地機器上運行此項服務 –

2

你使用的是什麼版本的gcloud和Docker?

看着你的請求,看起來好像Docker客戶端沒有附加證書,這將解釋訪問拒絕。

我會建議運行gcloud components update並查看問題是否重現。如果仍然存在,請隨時聯繫gcr-contactgoogle.com,以便我們幫助您調試問題並解決問題。

+0

我已將我的Google Cloud和Docker版本添加到我的答案中。 gcloud報告說一切都是最新的。 –

+0

如果您嘗試使用'docker login'命令[此處](https://cloud.google.com/container-registry/docs/advanced-authentication#using_an_access_token)會發生什麼? (尤其是oauth2token之一) – mattmoor

+0

我得到這個:'守護進程的錯誤響應:獲取https://us.gcr.io/v1/users/:撥號tcp:在192.168.65.1:53上查找us.gcr.io:讀udp 192.168.65.2:35130->192.168.65.1:53:I/O timeout' –

1

感謝您添加您的Docker版本信息。是否將Docker降級爲更穩定的版本(例如1.11.2)?你運行'碼頭機升級'?

0

我查

gcloud auth list 

看到我的應用程序是活動的帳戶,而不是我個人的谷歌帳戶。設置

gcloud config set account [email protected] 

後,我能推

gcloud docker -- push eu.gcr.io/$PROJECT_ID/my-docker:v1 

這樣我就可以繼續http://kubernetes.io/docs/hellonode/

+1

很高興聽到你能解決它,但這並沒有幫助我。我的活躍帳戶已經是我想要的。 –

+0

70打開瀏覽器選項卡,我仍然無法決定是否應該從我的筆記本電腦上推送到GCR,或者我必須在Google雲端內部旋轉一個框以推送到GCR。 – the0ther

+0

我從筆記本電腦推出 –

0

我有一個類似的問題,事實證明,我必須爲該項目啓用計費。當您擁有新的Google Cloud帳戶時,您只能啓用如此多的帶有結算的項目。一旦我做到了,它的工作。

+0

不知道爲什麼這篇文章被拒絕了,但在我的情況下,我跳過了計費設置,我無法部署,最後我完成了計費設置並將其鏈接到我的項目,然後我可以成功部署它,投票 – hmaxf2

相關問題