群晖DS220JARM安装使用docker

群晖的ARM机型默认不支持docker,少了不少折腾的乐趣。本文记录了在白群晖ARM机型下安装docker的过程。

1、打开并进入群晖ssh

"群晖DS220J 利用SSD做虚拟内存优化"一文已经介绍过如何通过windows10的powershell进入群晖后台。强烈建议通过SSD做虚拟内存优化,因为ARM机型一般内存都很小,没有虚拟内存优化很可能会卡顿严重。

此外,如果提示权限不足的话,可以sudo或切换到root账号下操作

2、查看自己的CPU类型,官网下载安装包

可以用uname -m,我的是arm v8,所以得到的结果是aarch64

群晖DS220JARM安装使用docker插图
aarch64

网址为https://download.docker.com/linux/static/stable/

群晖DS220JARM安装使用docker插图1
选aarch64

点击aarch64进入

群晖DS220JARM安装使用docker插图2
选择最新的安装包

本文编写时,最新的安装包为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,进入到该目录中

群晖DS220JARM安装使用docker插图3

当然也可以选择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,可以看到若干文件

群晖DS220JARM安装使用docker插图4
解压的文件待拷贝到系统目录下

4、安装

安装过程是比较暴力的,我暂时也没有更好的解决方法。

pwd确认已经在刚刚解压的docker目录下后,sudo cp * /usr/bin,这样就会把所有刚刚解压的文件拷贝到系统目录下。

然后执行sudo dockerd,用来创建一些临时的目录。但是执行过程会失败,我们需要修改配置文件

vi /etc/docker/daemon.json

将下述文本复制进去

{

"storage-driver": "vfs",

"iptables": false,

"data-root": "/volume1/docker"

}

群晖DS220JARM安装使用docker插图5

注意,不要配置bridge,这样默认就会有桥接模式。就我个人的应用而言,桥接模式非常有用,尤其是容器和DSM之间的端口映射,jellyfin等docker组件严重依赖该模式。

再次执行sudo dockerd &

成功启动

可以考虑后续在DSM的计划任务中,设置开机启动任务,以root权限执行下sudo dockerd &命令,以后就不用每次手工敲了。

5、安装PortainerIo,使用GUI界面管理安装docker容器。

在群晖x86的机型中,docker都是有GUI管理界面的,拉镜像创建容器都很直观。在本文安装的docker中,也可以借用一个叫portainerio的docker镜像,实现类似的功能,界面如下

群晖DS220JARM安装使用docker插图6

但是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

群晖DS220JARM安装使用docker插图7

注意如果PORTS没有显示,或者端口和你预设的不一样,可能是哪里存在错误,需要检查。

STATUS显示了状态,我这里是已经启动运行了。

然后在浏览器输入NAS的IP和10001端口号,就可以了

假设我的NAS ip为192.168.1.100,那么应该在浏览器输入192.168.1.100:10001

如果能够看到对应的管理页面,说明安装成功了。

如果希望容器能够在NAS重启后能够自动启动,需要在命令行中输入

docker container update –restart=always a451a16cbdef

群晖DS220JARM安装使用docker插图8
注意a451a16cbdef是通过上述命令获得

全部配置完毕后,可以重启NAS验证下自动启动是否生效,如果能够生效恭喜你完成了ARM机型上docker的创建!

portainerio网上有许多教程,本文就不在赘述了。Enjoy it~

原文链接:https://www.bilibili.com/read/cv15633573/

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享