|
|
N1盒子刷成COREELEC9.2.3,安装了DOCKER插件后,资源太多了,挑花眼,最后玩着玩着,就留了四个:1、VSFTPD;2、FileBrowser(真香!);3、Jellyfin(纯粹是为了方便搞电视墙);4、ddns-go(域名解析)。下面分享一下这几个容器的创建命令,只要改改自己的存储路径,其它的保证你抄过来就能用。
一、FileBrowser,超轻量级个人网盘,你自己是管理员权限,可以创建小号,指定小号权限,分发给其他人使用。基本的上传下载功能,以及可以创建分享外链,有时候做起文件管理,我感觉比finalshell这种终端还好用。
# ”/media/新加卷“是我插在N1上的移动硬盘路径,你们需要自行修改,在shell终端中找到你的存储路径后复制它就行了。
docker run -d \
-v /media/新加卷:/srv \
-v /media/新加卷/database.db:/.database.db \
-v /media/新加卷/filebrowser.json:/.filebrowser.json \
-p 5212:80 \
--name filebrowser \
--restart=always \
filebrowser/filebrowser
二、vsftpd,装它主要是看中它的大文件传输速度,比smb更快更稳定。
#vsftpd的窗口创建好之后,需要一条单独的命令用于创建用户密码,N1刷COREELEC之后因系统精简过于厉害,是没有增加用户权限的,如果通过entware等途径装vsftpd,只能设置匿名免密访问,相当不安全,使用docker就可以在容器内设置密码。
docker run -d \
--name ftp \
--net=host \
-v /media/新加卷:/home/zsl \
-v /media/新加卷/ftpusr:/home/ftpusr \
lstcml/vsftpd
#下面这一句命令,要等vsftpd的容器创建完成正在运行后再使用。
docker exec ftp addusr 用户名 密码
三、其实就是看中它的电视墙功能,还可以把媒体库通过插件更新到kodi中,但现在看来并不是太好用,后续考虑卸载它。
#创建jellyfin容器,默认端口8096。
docker run -d \
--name jellyfin \
-v /media//新加卷/jellyfin/config:/config \
-v /media//新加卷/jellyfin/cache:/cache \
--mount type=bind,source=/media/新加卷,target=/media \
--net=host \
--restart=unless-stopped \
jellyfin/jellyfin
四、常用的docker命令
基本概念:1、镜像存在docker hub网站上;2、装docker插件,就是造一个能运行docker容器的环境;3、容器是使用镜像创建的,实际运行的是容器,镜像是材料,容器是成品,成品长啥样,还要看你创建时带的参数是什么。
1、docker pull ***/*** #这一条主要是从docker hub中拉取镜像到本地,默认的docker镜像仓库就是docker hub;
2、docker run -* -* -* \ #这一条是创建容器,并按指定参数(就是那几个-*,可以是-d、-v、-p)运行,一般会先判断本地是否存有本条命令指定要用于创建容器的镜像,如果没有,就会从docker hub中先拉取,所以这一条其实是将上一条docker命令给覆盖了的。
实例讲解docker run命令:
docker run -d \ #-d目的是使容器于后台运行 如果要分行写参数,必须用 \分隔
--name jellyfin \ #给容器起个别名,方便记,也方便后面操作,不用每次都打全名,或者打容器的id
-v /media//新加卷/jellyfin/config:/config \ #-v就是挂载,docker镜像实际是自带运行环境依赖的,相当于是一个小操作系统,但它本身没有真实的文件目录,需要将外部linux文件系统目录挂载起来,以方便文件操作。如果是像ddns这种不涉及文件操作的docker,就没有挂载的必要了。
-v /media//新加卷/jellyfin/cache:/cache \
--mount type=bind,source=/media/新加卷,target=/media \
--net=host \ #使用主机网络,即容器与系统主机的网络共享,不知道我这个描述对不对。这个参数不能与-p端口映射同时使用,如果用-p 5212:80 ,意思就是容器的80端口映射外部主机5212端口。一些docker运行起来是有指定端口的,有时甚至不同docker会用同一个端口,如果被占用了,就会冲突导致容器创建失败,这时候就要用-p来映射不同的端口,避免冲突。
--restart=unless-stopped \ #除非使用stop命令停止容器,否则将会一直在后台运行。
jellyfin/jellyfin #最后一行,指定用于创建容器的镜像,先找本地,本地没有就从docker hub上拉取。
3、docker start/stop/restart 容器名 #经典的三个命令,应该没有人不懂的了。这三个命令,可以让使容器开始、停止、重新启动,但不管怎么用这三个命令操作某个容器,这个容器一直都在,只是处于不同的状态而已。
4、docker rm *** #移除容器(本地镜像还在)
5、docker images #查看所有本地镜像
6、docker ps #查看所有运行中的容器
7、docker ps -a #查看所有容器(包括已停止的)
8、docker rmi 镜像 #删除本地镜像,前提是这个镜像没有被任何容器所使用,也就是说在使用中的镜像是无法被删除的。
没事就逛逛docker hub网站,一些好用好玩的镜像,如果支持arm64的,就可以拉回来玩玩。
|
|