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

administrators group

如果只希望具有管理员权限的用户能直接使用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 group

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

创建群组并分配用户:

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

更改docker权限:

sudo chgrp docker /var/run/docker.sock
最后修改:2024 年 03 月 01 日
如果觉得我的文章对你有用,请随意赞赏