“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