2015-09-11 11 views
5

मैंने रजिस्ट्री 2.1.1 में जारी किए गए कैश डॉकर को डॉकर 1.8 के साथ रिलीज़ करने की कोशिश की। CentOS7.1 पर, हालांकि, मैंने इन वेबसाइटों का पालन किया और यह मिररिंग के रूप में कार्य नहीं करता है, किसी भी इनपुट की बहुत सराहना की जाएगी। मुझे आशा है कि यह रजिस्ट्री सेवा को कॉन्फ़िगर करने और डॉकर डेमन तर्कों को पार करने का सही तरीका है।डॉकर निजी रजिस्ट्री के लिए कैश के माध्यम से खींचें

वेबसाइटें: https://github.com/docker/distribution/blob/master/docs/mirror.md http://docs.master.dockerproject.org/articles/registry_mirror/

कदम:

  1. मैं डेमॉन प्रक्रिया डोकर को पारित करने के लिए तर्क को जोड़ कर उसे पुन: प्रारंभ:

    # /etc/sysconfig/docker 
    # 
    # Other arguments to pass to the docker daemon process 
    # These will be parsed by the sysv initscript and appended 
    # to the arguments list passed to docker -d 
    OPTIONS="--registry-mirror=http://localhost:5000" 
    
  2. जोड़ा गया रजिस्ट्री config और करने के लिए घुड़सवार कंटेनर:

    version: 0.1 
    log: 
        fields: 
        service: registry 
    storage: 
        cache: 
         blobdescriptor: inmemory 
        filesystem: 
         rootdirectory: /var/lib/registry 
    http: 
        addr: :5000 
        headers: 
         X-Content-Type-Options: [nosniff] 
    health: 
        storagedriver: 
        enabled: true 
        interval: 10s 
        threshold: 3 
    proxy: 
        remoteurl: https://registry-1.docker.io 
    
  3. शुरू रजिस्ट्री कंटेनर

    docker run -d -p 5000:5000 --restart=always --name registry-mirror -v /opt/docker-registry/local/images:/var/lib/registry -v /opt/docker-registry/local/config/config.yml:/etc/docker/registry/config.yml -e STANDALONE=false -e MIRROR_SOURCE=https://registry-1.docker.io -e MIRROR_SOURCE_INDEX=https://index.docker.io registry:2.1.1 
    
  4. आदेशों के साथ कैश के माध्यम से

    परीक्षण पुल इस प्रकार है:

    मेरी दर्पण चल साथ

    , एक छवि है कि मैं इससे पहले कि (समय का उपयोग कर खींच लिया नहीं किया है खींच यह समय) डोकर केंद्र से

    खींचतान MIRROR_SOURCE

    रूप ०१२३८१६७३० कॉन्फ़िगर किया गया के रूप में

    स्थानीय मशीन से चित्र को निकालना

    $ docker rmi busybox:latest 
    

    अंत में, इस करना चाहिए कैश से छवि है, जो मेरे मामले में काम नहीं कर रहा फिर से खींच, बल्कि डोकर केंद्र से बजाय खींच रहा है।

    $ time docker pull busybox:latest 
    

    मैंने अपने होस्ट फ़ाइल सिस्टम में घुड़सवार छवियों वॉल्यूम फ़ोल्डर को देखने का भी प्रयास किया, इसे नहीं मिला।

    $ ls /opt/docker-registry/local/images/docker/registry/v2/repositories/ 
    

    कि नई छवि को बाकी एपीआई कॉल करने की कोशिश की, बजाय त्रुटि संदेश देता है:

    $ curl http://localhost:5000/v2/busybox/tags/list  
        {"errors":[{"code":"NAME_UNKNOWN","message":"repository name not known to registry","detail":{"name":"busybox"}}]} 
    
+0

क्या किसी को भी इस मुद्दे का कोई समाधान मिल रहा है? @doss। –

उत्तर

1

यह मेरे लिए काम किया का उपयोग कर ...

docker run -p 5000:5000 \ 
    -e STANDALONE=false \ 
    -e MIRROR_SOURCE=https://registry-1.docker.io \ 
    -e MIRROR_SOURCE_INDEX=https://index.docker.io \ 
    -e "REGISTRY_LOG_LEVEL=debug" \ 
    -e "REGISTRY_REDIRECT_DISABLE=true" \ 
    -v /var/lib/registry:/var/lib/registry \ 
    --name registry-cache-latest \ 
    registry 

.. और फिर httpintg - रजिस्ट्री-दर्पण http सर्वर पर, https नहीं।

+0

देखो कि यह संस्करण 1 है, संस्करण 2 नहीं। मैंने पढ़ा है कि संस्करण 1 पायथन में कार्यान्वयन था। संस्करण 2 में जोर देकर, मैं लॉग में जो देखने में सक्षम था वह कुछ खराब प्रमाण पत्र संदेश था। –

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