参考:
群晖、威联通、Linux最强docker管理工具portainer安装及汉化教程2022最新版本
Portainer官方文档
How to run Docker commands without sudo on a Synology NAS
因为群晖的NAS是基于linux但是限制很多的系统,有一些东西通过命令行操作可能会遇到权限问题,因此需要结合可视化部分一起搭建portainer,在这里记录一下
命令行
首先ssh进去,然后通过
sudo -i
切换到
root
用户,密码就是当前用户的ssh密码
切换后手动创建portainer,注意这里的命令是
docker create
,不是
docker run
,之后还要手动在命令行做一次目录挂载(因为在NAS上通过命令行做映射可能会有权限问题),所以这里先不启动
# 这里的9000是http端口,官方文档给的端口9443是https端口# 因为我只有ip地址,就不用https了sudodocker create -p8000:8000 -p9000:9000 --name portainer --restart=always -v /var/run/docker.sock
:/var/run/docker.sock portainer/portainer-ce:latest
可视化部分
打开NAS可视化界面的docker,这个时候portainer应该还没启动,在docker文件夹下创建portainer文件夹后,在这里手动做映射,避免出现权限问题,挂载点在docker的
/data
路径
注意这里一定要勾选上高权限启动容器
,相当于是给了portainer root权限,否则很多时候会遇到权限问题
然后直接在NAS的可视化界面启动或者命令行
docker run
启动就可以了
群晖NAS的docker组添加
很多docker在使用之前为了避免sudo带来的权限问题,都会要求把docker加进系统的用户组以避免sudo才能执行,比如CVAT要求的:
sudogroupadddockersudousermod-aGdocker$USER
但是!群晖的NAS没有
groupadd
这种命令,执行上面的命令你会得到
sudo: groupadd: command not found
,哈哈哈好sb…其实是因为群晖自己有对应的组权限更改命令,和上面对应的执行下列命令即可:
sudo synogroup --adddockersudo synogroup --memberdocker$USER# 如果不放心可以再加一条sudo chown root:docker /var/run/docker.sock
不用ubuntu之类的系统做base,可能是厂家为了定制化方便吧,但有时候想折腾一下真的很难受,同理还有apt、yum之类的NAS上也没有,很烦人
版权归原作者 thinszx 所有, 如有侵权,请联系我们删除。