我有一个设置,其中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
两种方式都不起作用
答案 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-gcr
,cp
二进制文件到一个位置
在根的路径上。
sudo docker-credential-gcr configure-docker
然后,sudo docker-credential-gcr gcr-login
可以让您毫无问题地使用sudo
docker
。
请参阅凭据帮助程序的文档: https://github.com/GoogleCloudPlatform/docker-credential-gcr