" gcloud docker"支持某种sudo(例如,--user root?)

时间:2017-11-03 09:04:35

标签: docker kubernetes google-cloud-platform gcloud

我有一个设置,其中docker ONLY以root身份工作(我知道,我的错)。我试图遵循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

两种方式都不起作用

2 个答案:

答案 0 :(得分:2)

有几个选项,最好的方法是在没有root的情况下使docker可用:https://docs.docker.com/engine/installation/linux/linux-postinstall/

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

sudo $(which gcloud) 

选项2:以root身份安装glcoud

sudo su
#install gcloud
gcloud version

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

答案 1 :(得分:2)

杰克建议:由于这个原因,gcloud docker处于弃用路径上。

我建议gcloud components install docker-credential-gcr 然后是which docker-credential-gcrcp二进制文件到一个位置 在根的路径上。

接下来是

sudo docker-credential-gcr configure-docker 然后,sudo docker-credential-gcr gcr-login可以让您毫无问题地使用sudo docker

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