我正在尝试关注本指南在我的 DS918+ 上正确设置 traefik。一切似乎都正常工作,但我实际上无法启动它,因为
Got permission denied while trying to connect to the Docker daemon socket at
unix:///var/run/docker.sock:
Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/traefik/logs?follow=1&stderr=1&stdout=1&tail=100×tamps=1:
dial unix /var/run/docker.sock: connect: permission denied
我曾尝试sudo chmod +rwx docker.sock
使用我正在使用的用户来启动docker,但无济于事。
我该如何解决这个问题?
答案1
以下对我有用:
sudo synogroup --add docker <userid>
sudo chgrp docker /var/run/docker.sock
完成此操作后,您必须从 shell 中注销以使更改生效(至少如果你以<用户 ID>运行命令时)。
答案2
在通常的 dock 实现中,你可以以 root 身份(或使用 sudo)使用 docker,或者将授权用户添加到docker
组(套接字是组可写的):
ll /var/run/docker.sock
srw-rw---- 1 root docker 0 Apr 19 16:13 /var/run/docker.sock=
据我所知,默认情况下不会执行此操作,因为实际上拥有 docker 权限会赋予您 root 访问权限,所以要小心。
答案3
docker
它帮助我通过运行命令sudo
docker exec -it homeassistant bash
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/container s/homeassistant/json": dial unix /var/run/docker.sock: connect: permission denied
进而
sudo docker exec -it homeassistant bash
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
homeassistant:/config#
有趣的是,我应该输入我的密码。我花了很多时间才弄清楚密码root
。