在使用群晖的命令行进行管理的时候,执行docker指令需要root账户或者账户具有sudo权限。如果希望非root账户也能直接执行docker指令,可以通过更改docker.sock的群组来实现。

方法一:将用户添加到 root 用户组

sudo synogroup --memberadd root <username>

方法二:更改 docker.sock 所有者

如果只希望特定组的用户能直接使用 docker,则使用这个方法。

我目前在使用 DSM 7.2版本,Docker 也被 Container Manager 所替代,提供了容器编排的能力。

Docker 服务监听套接字位于/var/run/docker.sock,默认所有者为root:root

一般群晖管理员都不会使用 root 账户,也不会使用系统内置的 admin 管理账户,而是创建一个新的账户,授权管理员权限,避免被爆破。这个用户则会属于administrators群组(可通过sudo synogroup --enum可列出所有群组),这是群晖默认的管理群组。

因此只需要将/var/run/docker.sock群组更改为administrators,即可让具有管理员权限的用户直接使用docker。

sudo chgrp administrators /var/run/docker.sock

如果希望一些不具备管理员权限的用户能够直接执行docker,则需要单独建立一个群组,用于权限的分配。

sudo synogroup --add docker
sudo synogroup --memberadd docker <username1> <username2> ...
sudo synogroup --get docker

更改docker权限:

sudo chgrp docker /var/run/docker.sock

自动执行

由于群晖在重启套件的时候,会分配默认的权限,因此上面的授权会失效。

因此自行添加一个开机自动执行脚本。

最后修改:2025 年 11 月 20 日
如果觉得我的文章对你有用,请随意赞赏