为什么我们需要docker
缘起
绿联dx4600到货将近一周了,软件用起来一般,要不是能折腾docker,我可能就退货了。
这一周整了套nastool + jakket + emby + qb,结果昨天m.2硬盘到了之后,一切推倒重来(换硬盘得重装),闲着也是闲着,不如记录一下。
受众及写法
我看很多攻略教程,说是手把手,直接就开始贴图了,但评论区还是一大堆问题,主要是压根没解释清楚某个工具是用来干嘛的,装nastool尤其如此。
我本职是程序员,上项目短暂接触过docker,加上又是一个路有十个坑,我踩二十个坑的人,最能理解小白是啥心态了。
所以斗胆献丑,想试试写一份真小白教程,我的目标就是让我女朋友能看懂,所以你看懂,你就是我。。。。。
这篇不是让你放在收藏夹里吃灰的,没几张图,我不讲具体操作,只讲docker是个啥,如果你之前看过好多站内同类文章,但是从来没试过,觉得门槛好高。那这篇文章就是写给你的。
docker到底是什么
《瑞克和莫蒂》里有一集讲说车坏了,俩人得修发动机,于是就传送到发动机的世界里,原来发动机是个单独的世界,在不断的向外释放能量,但是发生了点异常,所以有问题。
我们看发动机世界的特点
稳定存在(不管车动不动,打不打开,它都在)
向外扩展接口(给车输出动力)
能够操纵本地文件(能够利用油产生动力)
内部不论干什么,如果不向外输出,外界都感知不到
我们用本文要构建的docker qbittorrent 与 迅雷比较一下
qbittorrent(和迅雷一样能够用种子下载文件的软件)
迅雷
开关不稳定,下载你打开,不下载你关闭
环境不稳定,你电脑上浏览器,微信,ps,所有软件和迅雷在一个环境,ps导致死机,迅雷也不能幸免
可以操作windows上的所有文件
docker 中的qbittorrent
持久开启,只要你不断nas电源,不主动关闭docker,它就永生
环境独立,
qbittorrent运行的环境里,只跑这一款软件
只能操作你赋予权限的文件夹,向外只暴露特定接口
想象一个空间,有进出两个通道,除了进与出,其他外界的环境都是隔离的,因此这个空间就会非常稳定
(断电可不算,人工智能都怕断电,更别说一台nas了)
当我们讨论docker的时候,你可以想象有好几个这样的世界,他们或串联,或独自的为我们提供服务。
还记得瑞克的发动机世界吗?下面会出现什么端口,镜像,容器,之类的名词,我都会用瑞克的发动机举例,放心,给女朋友讲东西,我很有耐心的(都是被逼得)。
瑞克最爱下片片
瑞克平常老下载片片,于是就创造了这么一个世界,这个世界什么都不干,就等着瑞克发命令
瑞克说我要看小泽,这个世界就下载。
瑞克说我要看花绮罗,这个世界就下载。
但瑞克很不爽,因为他每次都传送进这个世界才能发号施令(进终端)
于是他造了个网页
欸,很不错,于是他每次都在网页上下命令,我要看彩花~
后来瑞克觉得它的idea真不错,想着我这也不能走哪把这个世界带哪里吧,怪沉的,于是它就把它做成了镜像,每次换了机器,换了nas,直接用镜像启动一个世界(容器)。
后来瑞克分享了他的镜像
于是全世界好多人用他的镜像,启动了属于自己的容器,打开了自己的网页,下命令说,我要看。。。。
朋友们,知识点!
尝试一波?
这是qb部署完的网页,基本上就是个迅雷,当你电脑关机,工作,或是迅雷不让下载时,你都可以让qb去下载
如果你让nas 24小时待命,那qb就24可用,你可以随时命令它下载种子。
在绿联的docker里,qb在常用镜像中,打开官方教程操作,即可,我只说几个重点
别心急,下面全是知识点,没多少,看完再操作,事半功倍!
相信我,真搞docker,有的时间是反复调试,所以一定记住 知识点!
1. 镜像是瑞克们分享出的解决方案,它是一种快照,一种方案,如果你不使用镜像创造容器,就不存在那个“世界”
2. 一个镜像可以创建多个容器。所以一个容器出问题,你可以再造一个
3. 存储空间,是你赋予容器能操作那个文件夹,就好像发动机需要汽油,瑞克下片需要指定目录一样。装载路径值得是容器内的位置,左侧的文件文件夹则是你真正的文件夹,容器内对装载路径的操作,都相当于对外界真正目录的操作。注意类型要是读写
4. 端口设置,还记得瑞克为了方便造的的网页吗,那是跑在容器里的,那他为什么能在方面访问呢,因为他把容器的接口向外开放了,因此本地端口是可以随便修改的(当然不能冲突),因为只是映射,但是容器端口可不一样,它指的是容器内部的那个网页实际跑在那个端口上
5. 这俩ID 指的是权限,当多个容器操作同一目录时,如果权限不同就会导致问题
6. 启动容器后,你就可以通过快捷访问打开网页,记得改中文
7. 如果这时你试着用种子下载,会发现没速度,那是因为你没添加tracker。具体的qb的调教,改皮肤,站内大神都写过了。
8. config,真正的知识点都留给我最亲爱的朋友们了
既然是镜像,快照,那我改的设置存在哪里,答案就是config文件夹。通过这个config文件夹,不论你创建多少个容器都是一样的。所以有时镜像升级你需要删除旧版本的config,如果你是在机械硬盘里玩儿docker,我建议造一个docker文件夹,所有容器的config都放进去
9. 是时候上m.2了
如果你在机械硬盘里玩儿docker,因为docker不休眠,所以你的硬盘是不会休眠的。
坏不坏我无所谓,但机械硬盘真的很吵
总结
我的文章是写给那些小白,或是在调试时一脸茫然的人。
我调试nastools的时候真的是一脸茫然,我看了几个教程,上github看readme,看了半天我也没明白这东西到底是干嘛用的。我不是不会部署,我是弄完了,也不知道这东西是干嘛用的,我自己研究了好一阵。
大佬们贱笑了,你们平时都看谁呢?皮卡丘吗?
ps: 没人看的话,这可能就是最后一篇了,反正该讲的重点也讲了,其他的可能都是每个容器自己的知识点,或是容器间通信的知识点。而且站内大佬的文章太多了。拾人牙慧比较无聊。当然,要是你们喜欢瑞克的话,我倒是能再编点。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~







校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案