2016-04-26 19 views
8

Sto usando Sonatype Nexus come registro Docker privato.Registro Docker Nexus - Faill anonimo pull

Mentre funziona con utenti autenticati, provare a utilizzare l'utente anonimo per estrarre le immagini non funziona. Questo succede solo sul client docker.

Utilizzo dell'interfaccia utente Nexus (non connesso) Sono in grado di sfogliare le immagini sul mio repository. Ma provando a tirare le immagini ottengo un errore 'Non autorizzato'.

Quello che segue è un flusso cattura di una comunicazione tra il Docker Cliente e il repository Nexus:

Wireshark packet capture

Questo è strano, come l'accesso anonimo è abilitato, e secondo la documentazione, che può disporre di un registro ospitato da Docker (con accesso RW tramite la porta HTTPs) e un registro di gruppo Docker, che punta a un registro ospitato da Docker, con accesso RO/anonimo.

risposta

2

L'API del registro Docker richiede l'autenticazione per l'accesso al registro, anche per le operazioni di estrazione, quindi Nexus 3. Dockerub richiede sempre un token di accesso, anche per pull. Ma il motivo per cui è possibile richiamare in modo anonimo da dockerhub è che utilizza un server token che distribuisce automaticamente token di accesso agli utenti anonimi. Questo mecanismo non è disponibile per il momento con Nexus 3.0.1. Forse sarà implementato (https://issues.sonatype.org/browse/NEXUS-10813).

Quindi per il momento con Nexus 3, sarà sempre necessario effettuare il login prima di estrarre un'immagine (eventualmente con l'utente anonimo i tuoi diritti vengono impostati in questo modo).

2

Questa funzione è stata aggiunta in Nexus 3.6. Secondo the documentation:

  1. In Protezione> Realms, abilitare la “Docker portatore Token Realm”
  2. Deseleziona “Forza autenticazione di base” nella configurazione repository