2014-07-10 54 views
3

Google/docker-registry容器是否僅用於推送/從Google雲端存儲中提取圖像?我目前在Git上關注他們的instructions,並且docker-registry容器正在運行,但似乎無法從我的存儲桶中取出。Docker:google/docker-registry容器的使用情況

我開始吧:

sudo docker run -d -e GCS_BUCKET=mybucket -p 5000:5000 google/docker-registry 

/我有存儲在雲端存儲的.tar碼頭工人的形象,在mybucket imagename.tar。但是,當我執行:

sudo docker pull localhost:5000/imagename.tar 

它導致:

2014年7月10日十九時15分​​50秒HTTP代碼:404

我這樣做不對嗎?

回答

4

你需要docker push註冊,而不是手動複製你的圖像焦油。

從那裏你形象是:

docker run -ti --name gcloud-config google/cloud-sdk \ 
    gcloud auth login 
docker run -ti --volumes-from gcloud-config google/cloud-sdk \ 
    gcloud config set project <project> 
docker run -d -e GCS_BUCKET=bucketname -p 5000:5000 \ 
    --volumes-from gcloud-config google/docker-registry 
docker tag imagename localhost:5000/imagename 
docker push localhost:5000/imagename 

然後從您要運行從圖像的地方(例如:GCE):

docker run -d -e GCS_BUCKET=bucketname -p 5000:5000 google/docker-registry 
docker run localhost:5000/imagename 
+0

感謝您的幫助。在完全遵循這些命令後,在「docker push localhost:5000/imagename」命令後產生以下錯誤: – kungfuspider

+0

docker @ boot2docker:〜$ docker push localhost:5000/imagename 2014/07/15 22:17:07 Error :無效的註冊表端點:獲取http:// localhost:5000/ v1/_ping:dial tcp 127.0.0.1:5000:連接拒絕 – kungfuspider

+0

注意,在每個前3個「docker run」命令之後,我鍵入「exit 「離開容器並運行下一個容器。讓我知道是否有另一種方式我應該這樣做。 – kungfuspider

0

在使用谷歌/泊塢窗的註冊表它已預先配置爲使用Google存儲分區。

它應該適用於任何存儲(如果配置被覆蓋),但它的目的是用於谷歌基礎設施。

當沒有碼頭註冊表來手動移動碼頭主機之間的圖像時,應使用導出圖像的tar文件。

您不應該將tar文件上傳到存儲桶。

要上傳圖片,您應該推送到docker-registry容器,它會將圖像保存在存儲桶中。

運行Docker註冊表容器的Google雲計算實例必須配置爲具有對存儲區的讀/寫訪問權限。