创作立场声明:生命不息,折腾不止。
写在前面
玩nas的小伙伴对docker一定都不陌生,什么,你问我docker是什么?以下内容摘自百度百科。
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
什么,你让我讲人话?好的吧,个人觉得,docker就相当于一个虚拟机,在docker里装载的镜像可以随意折腾,boom了?不慌,重装一下就好了,保障宿主机资料安全。
今天介绍的是docker下的portainer。借用portainer可以方便的管理docker,最重要的是,学会了使用portainer可以让你在切换设备以后可以更快的上手,因为portainer的应用是跨平台的,不管是在N1的armbian亦或者是小钢炮,Unraid,群晖,威联通等等都可以快速的上手。portainer可以自动拉取很多开发者的默认设置,对于我们来说会方便些,至少对我来说是这样。
食用本文的效果
-
成功安装portainer
-
通过portainer装载docker镜像
-
portainer下docker应用的设置
-
以及一个经常写文章带你玩转NAS的作者
喜欢奶爸的作者请关注、点赞、打赏评论哦。
正文部分
portainer的安装
首先你需要安装docker,群晖、威联通等白设备可以直接安装。N1小钢炮的话,只需要启动一下DOCKER UI即可。Unraid,这种高端局我就不用介绍了吧。
进入终端,输入代码:
docker run -d -p 9000:9000
--restart=always
-v /var/run/docker.sock:/var/run/docker.sock
--name prtainer-test
docker.io/portainer/portainer
直至拉取成功,讲真我觉得输入代码挺帅的,但是却总透着一股不方便。最简单的一点:奶爸闭着眼想也知道上面代码后面的“”会消失。然后就会有正入门的值友问,命令怎么不对呀....... 实际上他是这样的。
Portainer的初始化设置
首先设置用户名以及密码,记号以后备用
在宿主机的Ip后面跟上我们刚刚赋予他的端口号9000,即可进入portainer界面,这里我们是为了使用本机的docker,所以直接选择local,如果需要集群的小伙伴可以选择remote。
安装我们的第一个docker镜像
点击左侧栏container,然后电解add container
本文是用灯大的typecho,name随心输入,image这里直接输入想要拉取的“用户名/镜像名:版本号”
那这个举例子来说就是80x86是灯大在dockerhub的用户名,想要拉取的竟像是typecho(就是博客),镜像版本是amd64(x86)。所以image里输入的是80x86/typecho:amd64
点击下方的deploy即可进行安装,
安装时按钮会变成这个样子。
安装后返回home可以看到容器的状态,可以看到正在启动
下面是我有在用的几个容器的运行状态。
使用默认安装的话,可以看到端口这里是空的,那我们怎么访问我们的容器呢,不妨让我们来完善一下容器的设置,点击容器名
安装镜像的页面又重新出现在了眼前,点击这个按钮的话,会自动分配一个端口号来映射容器默认的端口号
点击应用的话,会弹出对话框:你确定吗,你真的确定吗,你真的要这样做吗?是的,我们真的要这样做,点击repalce
可以看到刚刚的容器列表里显示出来端口号信息了
浏览器访问正常
注:奶爸收集资料的时候看到有人推荐使用这个自动分配端口号,但是奶爸这里建议,一定要所有参数、设置都配置号之后,再去做端口转发,奶爸不在家折腾研究portainer的时候,一重新设置端口就变了,一重新设置端口就变了,然后不停的改端口转发,难受的不要不要的。
另外奶爸更腿甲直接固定了容器的端口,这样的话,就算重新配置容器,这个参数是不会变的,方便在外面的时候进行折腾。
这里奶爸用了99端口,搞定。
同时为了容器数据的方便快速迁移,我们要将容器存储数据的位置进行设置。和群晖里配置文件和文件夹的原理是一样的。可以看到左下框起来的地方是一个虚拟的路径,将来要做迁移的时候就会很麻烦。(虽然麻烦但也是可以的,需要先从容器复制到宿主机,然后再做迁移备份)所以我们直接映射到本机的文件目录。
点击bind
奶爸使用的是unraid,所以host路径前面是需要加/mnt/user的,这样才能指向硬盘。
注*Unraid的文件夹名称是区分大小写的,大小写会分别形成两个文件夹:
这是没有自定义映射的时候
这是做了自定义映射以后的情况
这样的话,当我们需要重装镜像的话,就可以直接将配置文件导入出来备份存储,就算是要切换设备,只要配置、数据在就可以省掉我们很多麻烦。
硬件转码设备添加
相信很多小伙伴都有转码的需求,比如灯大的fbe,jellyfin等。
注意,首先需要你的设备是有核显的,如果使用的是N1之类的...就放弃吧。
没添加设备时的cpu占用状态
操作添加设备以后转码的cpu占用状态,稳。
Env这里时相关参数,对的,就是有时候在群晖镜像里面设置的那一堆,亦或者是在输入指令的时候需要输入的那一堆。使用portainer可以直接拉取。如果需要修改的话,直接可以到这里修改。
方便的容器管理
进入容器以后,可以看到所有的容器,后面也跟着端口映射情况,我们是不是就可以通过点击这里直接跳转到容器的管理页面了呢?
答案是否定的,因为我们还需要进行一点设置才能够实现,可以看到直接点击以后地址栏会自动填入0.0.0.0.
点击左侧面板endpoints,选择local
在下图所示的位置输入宿主机的ip
再点击一下刚才的位置,哦豁,进来了
容器数据、配置的备份与恢复
使用winscp或者FBE等等工具,直接将我们刚刚配置路径的文件夹复制出来,就好了,重装了容器以后,直接将文件复制进配置好的路径即可。
总结
portainer的简单使用教程到此位置,使用portainer还可以对多台设备的docker进行集群管理,可以说是方便至极。希望小伙伴们玩耍愉快。