群晖的ARM机型默认不支持docker,少了不少折腾的乐趣。本文记录了在白群晖ARM机型下安装docker的过程。
1、打开并进入群晖ssh
"群晖DS220J 利用SSD做虚拟内存优化"一文已经介绍过如何通过windows10的powershell进入群晖后台。强烈建议通过SSD做虚拟内存优化,因为ARM机型一般内存都很小,没有虚拟内存优化很可能会卡顿严重。
此外,如果提示权限不足的话,可以sudo或切换到root账号下操作
2、查看自己的CPU类型,官网下载安装包
可以用uname -m,我的是arm v8,所以得到的结果是aarch64
网址为https://download.docker.com/linux/static/stable/
点击aarch64进入
本文编写时,最新的安装包为docker-20.10.9.tgz,浏览器可以下载,网址为
https://download.docker.com/linux/static/stable/aarch64/docker-20.10.9.tgz
假设DS220J已经在存储空间1上创建了docker文件夹,将这个压缩包不解压直接拷贝到docker文件夹内,然后cd /volume1/docker,进入到该目录中
当然也可以选择wget https://download.docker.com/linux/static/stable/aarch64/docker-20.10.9.tgz直接下载
3、解压
tar xvf docker-20.10.9.tgz
注意文件名需要根据实际压缩包的名称而定,解压完成后cd docker,然后ls,可以看到若干文件
4、安装
安装过程是比较暴力的,我暂时也没有更好的解决方法。
pwd确认已经在刚刚解压的docker目录下后,sudo cp * /usr/bin,这样就会把所有刚刚解压的文件拷贝到系统目录下。
然后执行sudo dockerd,用来创建一些临时的目录。但是执行过程会失败,我们需要修改配置文件
vi /etc/docker/daemon.json
将下述文本复制进去
{
"storage-driver": "vfs",
"iptables": false,
"data-root": "/volume1/docker"
}
注意,不要配置bridge,这样默认就会有桥接模式。就我个人的应用而言,桥接模式非常有用,尤其是容器和DSM之间的端口映射,jellyfin等docker组件严重依赖该模式。
再次执行sudo dockerd &
成功启动
可以考虑后续在DSM的计划任务中,设置开机启动任务,以root权限执行下sudo dockerd &命令,以后就不用每次手工敲了。
5、安装PortainerIo,使用GUI界面管理安装docker容器。
在群晖x86的机型中,docker都是有GUI管理界面的,拉镜像创建容器都很直观。在本文安装的docker中,也可以借用一个叫portainerio的docker镜像,实现类似的功能,界面如下
但是portainerio还是要借助命令行来安装的,下面介绍安装过程
第一步拉取镜像
docker pull portainer/portainer
第二步做卷
docker volume create portainer_data
第三步生成容器
docker run -d -p 10001:9000 -v /var/run/docker.sock:/var/run/docker.sock –net=bridge -v portainer_data:/data portainer/portainer
这里,使用-d标明后台运行,-p是对tcp端口进行端口映射,将DS220J的10001端口映射到docker的9000端口,–net=bridge,显式指定了网络模式为bridge
10001端口号可以改为其他端口,但是9000端口不可修改。
第四步,确认容器正确启动
sudo docker ps -a
注意如果PORTS没有显示,或者端口和你预设的不一样,可能是哪里存在错误,需要检查。
STATUS显示了状态,我这里是已经启动运行了。
然后在浏览器输入NAS的IP和10001端口号,就可以了
假设我的NAS ip为192.168.1.100,那么应该在浏览器输入192.168.1.100:10001
如果能够看到对应的管理页面,说明安装成功了。
如果希望容器能够在NAS重启后能够自动启动,需要在命令行中输入
docker container update –restart=always a451a16cbdef
全部配置完毕后,可以重启NAS验证下自动启动是否生效,如果能够生效恭喜你完成了ARM机型上docker的创建!
portainerio网上有许多教程,本文就不在赘述了。Enjoy it~
原文链接:https://www.bilibili.com/read/cv15633573/