Come fermare il gcloud docker -a che sovrascrive le credenziali a lungo termine?

Utilizziamo il registro Google Container per memorizzare le immagini Docker.

Per autorizzare le nostre istanze di generazione, inseriamo i token di accesso a lungo .docker/config.json in .docker/config.json come descritto nei documenti .

Questo funziona perfettamente fino a quando qualcuno (ad esempio, un Makefile) utilizza gcloud docker -- push ... per spingerlo al Registro di sistema (anziché ad esempio docker push ... ). gcloud sostituirà le credenziali esistenti e di lunga durata con quelli di breve durata che scadono dopo qualche tempo. Quindi le build successive potrebbero non riuscire, a seconda della tempistica esatta.

La mia domanda : come posso impedire a chi lo gcloud docker ... da sconvolgere le mie credenziali gcloud docker ... ?

Ho provato chattr +i .docker/config.json , ma questo fa solo che gcloud lamenta.

Da https://cloud.google.com/sdk/gcloud/reference/docker :

Il gruppo di command gcloud docker comport i comandi docker, in modo che gcloud possa iniettare il token di authentication appropriato appropriato in richieste che interagiscano con il registro docker.

L'unica cosa che fa il gcloud docker è cambiare queste credenziali, quindi invocare il CLI docker . Se non si desidera modificare le credenziali, non c'è motivo di non call direttamente il docker .

Una soluzione potrebbe essere quella di utilizzare una posizione di file di configuration alternativa per le credenziali a lungo termine; per https://docs.docker.com/engine/reference/commandline/cli/ :

 Options: --config string Location of client config files (default "/root/.docker")