Utilizzo la funzione di trasporto per inviare immagini del docker private al registro dei contenitori di Google che poi desidero estrarre localmente su un laptop o all'interno di un'istanza su Google Calcola il motore.Estrarre le immagini private del docker dal registro dei contenitori di Google senza gcloud
So che il comando gcloud preview docker pull gcr.io/projectID/image-name
funziona, ma non posso fare affidamento sul fatto che gcloud sia installato su ogni macchina di cui qualcuno potrebbe aver bisogno per estrarre l'immagine.
Se corro docker-compose up -d
sulla mia macchina, allora ottengo il seguente errore:
Pulling image gcr.io/projectID/image-name...
Pulling repository gcr.io/projectID/image-name
Traceback (most recent call last):
File "<string>", line 3, in <module>
File "/compose/build/docker-compose/out00-PYZ.pyz/compose.cli.main", line 31, in main
File "/compose/build/docker-compose/out00-PYZ.pyz/compose.cli.docopt_command", line 21, in sys_dispatch
File "/compose/build/docker-compose/out00-PYZ.pyz/compose.cli.command", line 27, in dispatch
File "/compose/build/docker-compose/out00-PYZ.pyz/compose.cli.docopt_command", line 24, in dispatch
File "/compose/build/docker-compose/out00-PYZ.pyz/compose.cli.command", line 59, in perform_command
File "/compose/build/docker-compose/out00-PYZ.pyz/compose.cli.main", line 464, in up
File "/compose/build/docker-compose/out00-PYZ.pyz/compose.project", line 208, in up
File "/compose/build/docker-compose/out00-PYZ.pyz/compose.service", line 214, in recreate_containers
File "/compose/build/docker-compose/out00-PYZ.pyz/compose.service", line 199, in create_container
File "/compose/build/docker-compose/out00-PYZ.pyz/compose.progress_stream", line 37, in stream_output
File "/compose/build/docker-compose/out00-PYZ.pyz/compose.progress_stream", line 50, in print_output_event
compose.progress_stream.StreamOutputError: Error: Status 403 trying to pull repository projectID/image-name: "Access denied."
esiste un modo per autenticare o accedere l'immagine con una qualche forma di OAuth o le chiavi? Voglio evitare di dover installare gcloud su ogni macchina che avrà mai bisogno di tirare l'immagine, e le immagini devono rimanere private.
Ho provato gcloud preview docker -a
ma questa non è la soluzione che sto cercando.
Grazie in anticipo per qualsiasi aiuto.
Avete provato questo: http://stackoverflow.com/questions/29291576/access-google-container-registry-without-the-gcloud-client – mattmoor
Sì, e la soluzione funziona su GCE (Grazie!) , tuttavia non posso applicarlo quando è in esecuzione su una macchina locale.C'è anche il problema che devo autenticare manualmente su ogni istanza GCE che viene creata, che non è scalabile. – Maverick
Localmente, è possibile utilizzare ancora "accesso docker", ma sostituire "gcloud auth print-access-token" per l'arricciatura (o docker gcloud -a). – mattmoor