8

खोज रहा है मैं अपने कुबर्नेट क्लस्टर सेट अप कर रहा हूं और मैं छवियों को संग्रहीत करने के लिए Google Container Registry का उपयोग कर रहा हूं।Google कंटेनर रजिस्ट्री

मेरे सेटअप के हिस्से के रूप में मैं कुछ टूलिंग का निर्माण कर रहा हूं जहां मुझे टैग सहित छवियों के लिए रिमोट रिपोजिटरी खोजने की आवश्यकता है।

तो मेरा प्रश्न है: मैं छवियों के लिए Google क्लाउड रजिस्ट्री कैसे खोजूं?

मैं docker CLI उपयोग करने के लिए खोज करने के लिए भाग्य के बिना की कोशिश की है:

$ 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 

जैसा कि आप देख मैं विभिन्न दृष्टिकोणों का एक अच्छा सौदा की कोशिश की है। अंतिम विकल्प Google संग्रहण बाल्टी API का उपयोग कर सकता है और फ़ाइल सिस्टम को "मैन्युअल रूप से" खोज सकता है।

उत्तर

14

डॉकर क्लाइंट 1.7.0 के माध्यम से केवल अनधिकृत खोज का समर्थन करते हैं। उदाहरण के लिए आप खोज करता है, तो के लिए:

$ 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   

मैं 1.8.0 में एक पीआर प्रस्तुत कि खोजों को प्रमाणित करेगा, और निजी खजाने के लिए इसी तरह काम करते हैं।

आज 403 (निषिद्ध) ऐसा इसलिए है क्योंकि डॉकर क्लाइंट वास्तव में प्रमाणीकरण को पार नहीं कर रहा है जो gcloud docker या docker login के माध्यम से सेटअप है।

संपादित करें:

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

आप gcloud auth print-access-token साथ TOKEN उत्पन्न कर सकते हैं: समाधान के लिए, यह नहीं बहुत बुरा सिर्फ endpoint कर्ल करने के लिए है।

हम <project-id>[/image-substring] फॉर्म के प्रश्नों का समर्थन करते हैं, उदाहरण के लिए google-containers/ubegoogle-containers/kube2sky से मेल खाता है।

+0

क्या डॉकर क्लाइंट के बिना खोज करना संभव है? –

+0

एलओएल, मैं सिर्फ वर्कअराउंड प्रदान करने के लिए संपादन कर रहा था, ऊपर देखें। – mattmoor

+0

हे, भयानक :) मैंने अभी इसका परीक्षण किया है और बेस 64 के साथ मामूली समस्या के साथ मैक पर '-w' का समर्थन नहीं कर रहा है, जिस तरह से मैं इसे प्राप्त करता हूं:' प्रोजेक्ट नाम की खोज करते समय 'पहुंच से वंचित' किसी और चीज की खोज करते समय नहीं मिला। मैंने इसे _server_ के लिए जेनरेट किए गए टोकन और _browser_ के लिए एक परीक्षण किया है। –

संबंधित मुद्दे