Docker:谷歌/docker – registry容器的使用

Google / docker-registry容器是否仅用于从Google云端存储推送/提取图片? 我目前在Git上遵循他们的指示 ,并运行docker-registry容器,但似乎无法从我的桶中拉出来。

我开始与它:

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

我在云存储中存储了一个.tar Docker镜像,位于mybucket / imagename.tar。 但是,当我执行:

 sudo docker pull localhost:5000/imagename.tar 

它导致:

2014/07/10 19:15:50 HTTP代码:404

我做错了吗?

您需要将docker push送到registry,而不是手动复制您的图像焦油。

从你的形象是:

 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 

当使用谷歌/dockerregistry它被预先configuration使用谷歌桶。

它应该适用于任何存储(如果configuration被覆盖),但它的目的是用于谷歌基础设施。

在没有dockerregistry的情况下,应该使用导出图像的tar文件在Docker主机之间手动移动图像。

您不应该将tarfile upload到存储桶。

要上传图片,您应该推送到dockerregistry容器,它会将图像保存在存储桶中。

运行Dockerregistry容器的Google云计算实例必须configuration为具有对存储区的读/写访问权限。