“gcloud docker”是否支持某种sudo(例如–user root?)

我有一个设置,在docker工只作为根(我知道,我的错)。 我试图按照GCR快速入门:[1]。 我在故障排除页面[2]上也找不到任何东西。

你能帮我吗(然后我可以提交文件修复)?

[1] https://cloud.google.com/container-registry/docs/quickstart [2] https://cloud.google.com/container-registry/docs/support/troubleshooting

摄制

复制步骤(同样在b / 68796816):

$ docker -v Docker version 1.6.2, build 7c8fca2 ricc@rubino:~/git/gce-recipes/gke/quickstart-image$ sudo docker run busybox date Thu Nov 2 12:29:35 UTC 2017 $ sudo docker tag quickstart-image gcr.io/ric-cccwiki/quickstart-image # All good so far ... 

选项1(无sudo):

 # no sudo: docker doesn't work $ gcloud docker -- push gcr.io/ric-cccwiki/quickstart-image FATA[0000] Post http:///var/run/docker.sock/v1.18/images/gcr.io/ric-cccwiki/quickstart-image/push?tag=: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS? 

选项2:与sudo:

 # docker works but gcloud is not found $ sudo gcloud docker -- push gcr.io/ric-cccwiki/quickstart-image sudo: gcloud: command not found 

两种方式都不行

有几个选项,最好是使docker不用root可用:

选项1:在使用gcloud时指定完整的path。

 sudo $(which gcloud) 

选项2:以root身份安装glcoud

 sudo su #install gcloud gcloud version 

但是,最好的办法是只使用docker作为非root用户:)

杰克build议: gcloud docker处于弃用path,因为这个原因等。

我build议做gcloud components install docker-credential-gcr然后是gcloud components install docker-credential-gcr which docker-credential-gcr ,将二进制文件which docker-credential-gcr到根目录的PATH位置。

sudo docker-credential-gcr configure-docker后跟sudo docker-credential-gcr gcr-login应该允许你使用sudo docker而不会有问题。

请参阅凭据助手的文档: https : //github.com/GoogleCloudPlatform/docker-credential-gcr