7

cerco di spingere il mio contenitore di finestra mobile al contenitore Registro di google, utilizzando this tutorial, ma quando corroaccesso Google Container Registro negato quando si spinge finestra mobile contenitore

gcloud docker push b.gcr.io/my-bucket/image-name 

ottengo l'errore:

The push refers to a repository [b.gcr.io/my-bucket/my-image] (len: 1) 
Sending image list 
Error: Status 403 trying to push repository my-bucket/my-image: "Access denied." 

Non sono riuscito a trovare altre spiegazioni (non sono stati riconosciuti -D, --debug, --verbose argomenti), gcloud auth list e docker info dimmi che sono connesso a entrambi i servizi.

Qualcosa che mi manca?

risposta

2

Usa gsutil per verificare l'ACL per assicurarsi di avere il permesso di scrivere al secchio:

$ gsutil acl get gs://<my-bucket> 

avrete bisogno di controllare quale gruppo l'account che si sta utilizzando è in ('proprietari', ' Editors', 'ecc spettatori)

EDIT: ho sperimentato un problema molto simile a questo me stesso di recente e, come @lampis menzioni nel suo post, è perché gli ambiti delle autorizzazioni corrette, non sono stati fissati quando ho creato la VM che stavo cercando di trasmettere l'immagine. Sfortunatamente non è attualmente possibile modificare gli ambiti dopo aver creato una VM, quindi è necessario eliminare la VM (assicurandosi che i dischi siano impostati per l'eliminazione automatica!) E ricreare la VM con gli ambiti corretti ('compute-rw' , 'storage-rw' sembra sufficiente). Tuttavia, non ci vuole molto ;-).

Vedere la sezione --scopes qui: https://cloud.google.com/sdk/gcloud/reference/compute/instances/create

+0

questo è il problema: sono nel gruppo proprietari e i membri del gruppo proprietari hanno i diritti proprietari su questo bucket. Ancora accesso negato – hilnius

+0

E quando si esegue 'gcloud auth list', il proprietario a cui si fa riferimento ha sicuramente' (attivo) 'elencato contro di esso? –

+0

Ci scusiamo per il ritardo, SO non mi sta inviando notifiche. Stai usando Docker 1.7.0? Docker ha apportato una modifica sostanziale in 1.7.0 al modo in cui eseguono l'autenticazione, ma dovresti provare un 'aggiornamento dei componenti gcloud'. Abbiamo aggiornato i documenti per includere anche questo: https://cloud.google.com/tools/container-registry/#access_denied – mattmoor

1

Se si utilizza Docker 1.7.0, c'è stato un cambiamento di rottura per il modo in cui gestire l'autenticazione, che colpisce gli utenti che utilizzano un mix di gcloud docker e docker login.

Assicurarsi di utilizzare l'ultima versione di gcloud tramite: gcloud components update.

Finora questo sembra interessare gcloud docker, docker-compose e altri strumenti che stavano leggendo/scrivendo il file di autenticazione Docker.

Speriamo che questo aiuti.

+0

A seconda del sistema operativo è necessario impostare i diritti utente di conseguenza. Ciò significa che se stai usando 'gcloud' senza' sudo', devi assicurarti di poter usare il comando 'docker' senza' sodo'. Vedi [qui] (http://askubuntu.com/a/477554) per maggiori informazioni nel caso in cui stai usando Ubuntu. – Randy

1

Lo stesso problema qui, la sezione di risoluzione dei problemi da https://cloud.google.com/tools/container-registry/#access_denied non è stata molto utile. Ho aggiornato Docker e GCloud. Non so cos'altro fare.

BTW, sto provando a inviare "gcr.io".

Risolto. Stavo usando una macchina virtuale nel motore di calcolo come mia macchina di sviluppo, e sembra che non abbia dato abbastanza rigore in Storage.

3

Per quanto mi riguarda ho dimenticato di anteporre gcloud nella linea (e mi chiedevo come docker sarebbe l'autenticazione):

$ gcloud docker push <image> 
0

Quando si crea un'istanza di Google Cloud VM, assicurarsi che ha la sufficiente accesso destra.

Opzione 1

con l'identità e l'API di accesso, selezionare Consentire l'accesso completo a tutti i cloud API.

enter image description here

Opzione 2 (consigliato)

con l'identità e l'API di accesso, selezionare Set di accesso per ogni API e quindi scegliere Leggi Scrivi per la conservazione.

enter image description here

3

sto vedendo questo, ma su una base intermittente. per esempio. Potrei ricevere l'errore negato: Autorizzazione negata per "l'ultima" dalla richiesta "/ v2/...."., Ma quando riproverà funzionerà.

Qualcun altro sta vivendo questo?

+0

Nel mio caso, in realtà, si è rivelato, credo, un problema temporaneo in noi-centrale1. –

1

Ho avuto lo stesso problema con accesso negato e ho risolto con la creazione di una nuova immagine utilizzando Tag:

docker tag IMAGE_WITH_ACCESS_DENIED gcr.io/my-project/my-new-image:test 

Dopo di che ho potuto PUSH E a Container registro:

gcloud docker -- push gcr.io/my-project/my-new-image:test 
Problemi correlati