8

Kubernetes kümemi oluşturdum ve görüntüleri depolamak için Google Container Registry kullanıyordum.Google Container Kayıt Defterini Arama

Kurulumumun bir parçası olarak, etiketler de dahil olmak üzere görüntüler için uzak depoyu aramam gereken bazı araçlar yapıyorum.

Bu yüzden sorum şu: Görüntüler için Google Cloud Kayıt Defterini nasıl ararım? Ben arama yapmak docker cli kullanmaya şans olmadan denedim

:

$ docker search eu.gcr.io/project-101 
Error response from daemon: Unexpected status code 403 

$ gcloud docker search eu.gcr.io/project-101 
Error response from daemon: Unexpected status code 403 

$ docker login -e [email protected] -u _token -p mytoken https://eu.gcr.io 
WARNING: login credentials saved in /Users/drwho/.docker/config.json 
Login Succeeded 

$ docker search eu.gcr.io/project-101 
Error response from daemon: Unexpected status code 403 

$ docker search eu.gcr.io/not-known 
Error response from daemon: Unexpected status code 404 

ben farklı yaklaşımların iyi bir anlaşma denedim Gördüğünüz gibi

. Son seçenek Google Depolama Alanı Kova API'sını kullanıyor ve dosya sistemini "manuel" olarak arıyor olabilir.

cevap

14

1.7.0 üzerinden Docker istemcileri yalnızca kimliği doğrulanmamış aramayı desteklemektedir. Ben aramaları doğrulamak, ve özel depolar için aynı işlevi görecektir o 1.8.0 içine PR ibraz

$ docker search gcr.io/google-containers/kube 
NAME          DESCRIPTION STARS  OFFICIAL AUTOMATED 
google-containers/hyperkube        0      
google-containers/kube-apiserver       0      
google-containers/kube-controller-manager     0      
google-containers/kube-scheduler       0      
google-containers/kube-ui         0      
google-containers/kube2sky        0      
google-containers/kubectl         0   

: için Örneğin arama yaparsanız.

Bugün, 403 (Yasak), Docker istemcisinin gerçekte gcloud docker veya docker login aracılığıyla ayarlanan kimlik doğrulamasını geçmemesidir.

$ curl -u _token:TOKEN "https://gcr.io/v1/search?q=QUERY" | \ 
    python -mjson.tool 

Sen gcloud auth print-access-token ile TOKEN oluşturabilir:

DÜZENLEME: Çözüm olarak, sadece son nokta kıvrılıp için çok kötü değil. <project-id>[/image-substring] 0,formunu destekliyoruz, örneğin, <project-id>[/image-substring]. google-containers/ube, google-containers/kube2sky ile eşleşir.

+0

Arama yapmak o zaman docker istemcisi olmadan yapılabilir mi? –

+0

LOL, Yalnızca geçici çözümü sağlamak için düzenliyordum, yukarı bakın. – mattmoor

+0

Hehe, müthiş :) Ben sadece bunu test ettim ve baz64 ile küçük bir sorun ile -w 'desteklemiyordu bu yoldan dışarı-yolumda mac: Ben proje adı veya arama için arama yaparken" Erişim reddedildi " Başka bir şey ararken bulunamadı. Her ikisini de _server_ ve bir tane _browser_ için üretilmiş bir jetonla test ettim. –