finestra mobile non autorizzata: autenticazione richiesta – su push con login riuscito

Mentre spingo l’immagine della finestra mobile (dopo aver effettuato il login con successo) dal mio host, sto diventando “non autorizzato: autenticazione richiesta”.

Dettagli sotto.

-bash-4.2# docker login --username=asamba [email protected] WARNING: login credentials saved in /root/.docker/config.json *Login Succeeded* -bash-4.2# -bash-4.2# docker push asamba/docker-whale Do you really want to push to public registry? [y/n]: y The push refers to a repository [docker.io/asamba/docker-whale] (len: 0) faa2fa357a0e: Preparing unauthorized: authentication required 
  • Versione Docker: 1.9.1 (client e server)
  • http://hub.docker.com ha anche creato il repository (asamba / docker-whale).

Il / var / log / messages mostra 403, non so se questa finestra mobile. Vedi sotto.

 Apr 16 11:39:03 localhost journal: time="2016-04-16T11:39:03.884872524Z" level=info msg="{Action=push, Username=asamba, LoginUID=1001, PID=2125}" Apr 16 11:39:03 localhost journal: time="2016-04-16T11:39:03.884988574Z" level=error msg="Handler for POST /v1.21/images/asamba/docker-whale/push returned error: Error: Status 403 trying to push repository asamba/docker-whale to official registry: needs to be forced" Apr 16 11:39:03 localhost journal: time="2016-04-16T11:39:03.885013241Z" level=error msg="HTTP Error" err="Error: Status 403 trying to push repository asamba/docker-whale to official registry: needs to be forced" statusCode=403 Apr 16 11:39:05 localhost journal: time="2016-04-16T11:39:05.420188969Z" level=info msg="{Action=push, Username=asamba, LoginUID=1001, PID=2125}" Apr 16 11:39:06 localhost kernel: XFS (dm-4): Mounting V4 Filesystem Apr 16 11:39:06 localhost kernel: XFS (dm-4): Ending clean mount Apr 16 11:39:07 localhost kernel: XFS (dm-4): Unmounting Filesystem 

Qualsiasi aiuto è apprezzato, per favore fatemi sapere se avete bisogno di ulteriori informazioni. Ho fatto la spinta anche con -f. Senza fortuna!

Ho anche avuto lo stesso problema. Ecco come lo risolvo.

Passaggio 1: accedere all’hub docker

 docker login --username= --email= 

Passaggio 2: creare un repository nell’hub docker . diciamo ” mysqlserver: sql “.

 docker push /mysqlserver:sql 

Edit (13/08/2017)

Basato sul commento di @ KaraPirinc, nella versione mobile 17 per accedere (Passaggio 1),

 docker login -u username -p password 

La soluzione che hai postato non funziona per me …

Questo è ciò che funziona per me:

  1. Crea il repository con il nome desiderato.

  2. Quando si esegue il commit dell’immagine, denominare l’immagine come il repository, incluso lo username /desired-name nomeutente /desired-name . Ad esempio, radu/desired-name .

OK! non importa; Ho trovato la soluzione. con 403 Sospetto che l’HTTP non stia andando all’URL corretto.

Cambia il file con le credenziali di accesso memorizzate ~/.docker/config.json dal predefinito generato di

 { "auths": { "docker.io": { "auth": "XXXXXXXXXXXXX", "email": "[email protected]" } } } 

a – Notare la modifica da docker.io -> index.docker.io/v1. Questo è il cambiamento.

 { "auths": { "https://index.docker.io/v1/": { "auth": "XXXXXXXXXXXXX", "email": "[email protected]" } } } 

Spero possa aiutare.

Si noti che il campo auth deve essere codificato in “username: password” codificato 64. Ad esempio: “username: password” codificato in base64 è “dXNlcm5hbWU6cGFzc3dvcmQ =”

quindi il tuo file dovrebbe contenere:

 "auth": "dXNlcm5hbWU6cGFzc3dvcmQ=" 

Mi sono imbattuto in un problema simile con un messaggio di errore altrettanto inutile, ma si è scoperto perché stavo cercando di spingere un’immagine che avevo costruito contro un’istanza gestita da una finestra mobile.

Quando ho effettuato il login nell’istanza stessa, il docker login docker push e la docker push funzionato correttamente.

Ho avuto lo stesso problema ma l’ho risolto con push con url specificato. come: login docker -u https://index.docker.io/v1/

uscita della console:

 The push refers to a repository [docker.io//richcity] adc9144127c1: Preparing 4db5654f7a64: Preparing ce71ae73bc60: Preparing e8e980243ee4: Preparing d773e991f7d2: Preparing bae23f4bbe95: Waiting 5f70bf18a086: Waiting 3d3e4e34386e: Waiting e72d5d9d5d30: Waiting 8d1d75696199: Waiting bdf5b19f60a4: Waiting c8bd8922fbb7: Waiting unauthorized: authentication required 1010deiMac:dockerspace whoami$ docker login -u  https://index.docker.io/v1/ Password: Login Succeeded 1010deiMac:dockerspace whoami$ docker push /richcity The push refers to a repository [docker.io//richcity] adc9144127c1: Pushed 4db5654f7a64: Pushed ce71ae73bc60: Pushed e8e980243ee4: Pushed d773e991f7d2: Pushed bae23f4bbe95: Pushed 5f70bf18a086: Pushed 3d3e4e34386e: Pushing [=============> ] 45.07 MB/165.4 MB e72d5d9d5d30: Pushed 8d1d75696199: Pushing [> ] 1.641 MB/118.1 MB bdf5b19f60a4: Pushing [============> ] 142 MB/568.4 MB c8bd8922fbb7: Pushing [========================> ] 59.44 MB/121.8 MB 

Anche se il processo standard è quello di accedere e quindi spingere al registro Docker, trucco per superare questo problema particolare è quello di accedere fornendo nome utente e password nella stessa riga.

Così :

 docker login -u xxx -p yyy sampledockerregistry.com/myapp docker push sampledockerregistry.com/myapp 

Lavori

mentre

 docker login sampledockerregistry.com username : xxx password : yyy Login Succeeded docker push sampledockerregistry.com/myapp 

Non riesce

Anche io ho effettuato il login e controllato tutta la configurazione, non funziona ancora !!!

Si è scoperto che quando costruisco la mia finestra mobile, dimentico di mettere il mio nome utente prima del nome del repository

 docker build docker-meteor-build 

(costruisci con successo)

E poi quando ho spinto nel mio repository, l’ho usato

 docker push myname/docker-meteor-build 

Mostrerà l’ unauthorized authentication required

Quindi, la soluzione è quindi il nome di build e la spinta dovrebbe essere esattamente la stessa

 docker build myname/docker-meteor-build docker push myname/docker-meteor-build 

Se stai spingendo una nuova immagine privata per la prima volta, assicurati che l’abbonamento supporti questa immagine extra.

Docker ti permette di avere 6 immagini private nominate, anche se paghi solo per 5, ma non per spingere quella sesta immagine. La mancanza di un messaggio informativo è confusa e irritante.

Il problema che i neofiti devono affrontare è che tendiamo a trattare il repository hub di docker proprio come un repository di maven e pensiamo che potrebbe contenere molti file, cartelle e altri contenuti diversi.

D’altra parte, un repository docker è solo una singola immagine, non contiene nient’altro. Può contenere diverse versioni della stessa immagine, ma conterrà solo un’immagine.

Quindi, dai un nome al tuo repository sull’hub docker con lo stesso nome dell’immagine che vuoi inserire e usa il tuo nome utente dockerhub come prefisso. Ad esempio, se il tuo nome utente è myusername e il nome dell’immagine è docker-whale , assicurati di assegnare un nome al repository dockerhub come docker -whale e utilizza i comandi sottostanti per contrassegnare e inviare l’immagine al repository:

 docker logout # to make sure you're logged out and not cause any clashes docker tag  myusername/docker-whale # use :1.0.0 for specific version, default is 'latest' docker login --username=myusername # use the username/pwd to login to docker hub docker push myusername/docker-whale # use :1.0.0 for pushing specific version, default is 'latest' 

Ciò che ha funzionato per me è stato creare un nuovo repository e rinominare l’immagine con

$ docker tag image_id myname/server:latest

Ecco la soluzione per il mio caso (repository privato, piano di account gratuito)

https://success.docker.com/Datacenter/Solve/Getting_%22unauthorized%3A_authentication_required%22_when_trying_to_push_image_to_DTR

Il nome della build dell’immagine da premere deve avere lo stesso nome dei repository.

Esempio: repos sull’hub docker è: nome account / resposNome nome build dell’immagine “nome account / nomeposizioni” -> finestra mobile build -t accountName / resposName

quindi digitare docker push accountName / resposName: latest

È tutto.

Assicurati di avere più slot per le immagini private.

Nel mio caso ho convertito un utente in un’organizzazione e ha perso la sua immagine privata gratuita, quindi le spinte precedenti che funzionavano, non funzionavano più.

Assicurarsi che il nome del repositry della finestra mobile corrisponda al nome del repository della docker locale. ad esempio, diciamo se il nome del repository locale è “kavashgar / nodjsapp”

allora dovresti anche avere un nome “kavashgar” nel docker hub

nel file di configurazione ~ / .docker / config.json add

 { "auths": { "https://index.docker.io/v1/": { "auth": "XXXXXXXXXXXXX", "email": "[email protected]" } } } 

dove XXXXX è la codifica base64 del tuo nome utente: password (la: è inclusa) di https://hub.docker.com

nel mio caso ho avuto lo stesso errore con un tiro. il problema (sotto Windows) è stato provocato dal processo di esecuzione di una finestra mobile doppia, quindi un kill tutti e riavviare un servizio e funziona.

Ci sono già state buone risposte, ma vorrei menzionarne una: NON è necessario creare un repository in anticipo prima di spingerlo.

Il problema per me è stato il fatto che non ho impostato il nome utente corretto dell’account su cui ho effettuato l’accesso. Ma una volta impostato il nome utente corretto prima dell’immagine (ad es. YOURNAME/YOURIMAGE ) tramite il suo tag, è ansible inserirlo senza creare un nuovo repository in anticipo.

 sudo docker tag IMAGE:VERSION USERNAME/IMAGE:VERSION sudo docker push USERNAME/IMAGE:VERSION 

Lo stesso problema qui, durante la spinta dell’immagine:

 unauthorized: authentication required 

Cosa ho fatto:

 docker login --username=yourhubusername [email protected] 

Che ha stampato:

–email è deprecato (ma l’accesso è riuscito ancora)

Soluzione: utilizzare la syntax di accesso più recente.

 docker login 

Richiederà sia il nome utente che la password in modo interattivo. Quindi l’immagine spinta funziona.

Anche dopo aver usato la nuova syntax, il mio ~/.docker/config.json aspetto simile dopo aver effettuato l’accesso:

 { "auths": { "https://index.docker.io/v1/": {} }, "credsStore": "osxkeychain" } 

Quindi la credenziale è nel portachiavi di macOS.

Ho ricevuto un errore simile per sudo docker push / sudo docker pull su repository ecr. Questo perché aws cli installato nel mio utente (abc) e docker installato nell’utente root. Ho provato a eseguire sudo docker push sul mio utente (abc)

Risolto questo problema con installato aws cli in root, aws configurato usando aws configure in root ed esegui sudo docker push su ecr sull’utente root