2015-09-11 18 views
5

Ho provato la finestra mobile di estrazione pull through rilasciata nel registro 2.1.1 con la finestra mobile 1.8. su CentOS7.1 Tuttavia, ho seguito questi siti Web e non funziona come mirroring, qualsiasi input sarebbe molto apprezzato. Spero che questo sia il modo giusto di configurare il servizio di registro e passare gli argomenti del demone docker.finestra di caricamento cache passante per il registro privato non funzionante

Homepage: https://github.com/docker/distribution/blob/master/docs/mirror.md http://docs.master.dockerproject.org/articles/registry_mirror/

Passi:

  1. ho aggiunto argomenti da passare alla finestra mobile processo demone e riavviato:

    # /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 registro aggiunto e montati il contenitore:

    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. registro Lanciato contenitore

    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. tirare testati attraverso la cache con i comandi nel modo seguente:

    Con il mio specchio in esecuzione, richiamare un'immagine che non ho tirato prima (usando il tempo di tempo)

    tira dalla finestra mobile mozzo come configurato come MIRROR_SOURCE

    $ time docker pull busybox:latest 
    

    rimuovere l'immagine dalla macchina locale

    $ docker rmi busybox:latest 
    

    Infine, questo dovrebbe ri-estrarre l'immagine dalla cache, che non funziona nel mio caso, piuttosto tirando dal mozzo finestra mobile invece.

    $ time docker pull busybox:latest 
    

    Ho anche provato a guardare la cartella del volume delle immagini montate nel mio file system host, non riuscivo a trovarlo.

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

    provato a fare chiamata API REST a quella nuova immagine, restituisce un messaggio di errore invece:

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

Qualcuno trova una soluzione a questo problema? @dormire. –

risposta

1

Ha funzionato per me usando ...

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 

.. e quindi pointintg --registry-mirror al server http, non https.

+0

Guardate che è la versione 1, non la versione 2. Ho letto che la versione 1 era un'implementazione in python. Insistendo nella versione 2, quello che ero in grado di vedere nei registri erano alcuni cattivi messaggi di certificato. –

Problemi correlati