Unraid Docker 设置一篇就够!
Unraid 之 Docker 设置
Unraid Docker 的 WEBUI 配置项应该算是各个系统中最全面的了。本文就简单记录一下各个配置项的作用,以留后用。本文写于 6.10 rc 版发布之前,故 rc 版新增功能可能有疏漏,若需查看 6.10 新增功能,可点击此链接跳转腾讯文档查看,或者查看之前关于 6.10 介绍的文章。
张大妈编辑器图床图片压缩得太厉害,大家将就看。以下是视频版本。
目录
Docker 设置界面(Docker 的整体设置)
容器配置界面(具体某一容器的配置)
容器列表界面(显示所有容器)
好消息
总结
Docker 设置界面
总览,以上截图是未开启右上角的高级编辑模式的 Docker 设置界面。
以上截图是开启了右上角的高级编辑模式的 Docker 设置界面。
Docker 启动的情况下只有前两项可以修改,关闭后除了 Docker 版本,其他都可以修改。
Docker 自启动开关。选择 Yes ,会在阵列启动后自动启动 Docker。
容器停止超时时间。单位为秒。假如设置为15,在关机、停止阵列或者停止 Docker 的时候,Docker 会先等待15秒来让容器自己主动停止,15秒之后不管容器有没有停止都强制停止。
Docker 虚拟磁盘的大小。即
docker.img文件的大小,对一个容器来说,除了映射到主机的文件,其余所有的东西包括容器的本体以及下载的容器镜像都在这个文件中。
这个文件相当于一个虚拟磁盘,假如设置了它的大小是 100GB,那即使一个容器也没有安装,它也占用了系统的 100GB 空间,即预留空间。
QB 或者迅雷的预分配磁盘空间和这个是一样的道理,在文件刚开始下载的时候就创建了一个和要下载的文件,大小一样的文件,后续下载的数据就直接写进这个文件,避免下载到一半没空间的情况发生。Docker 虚拟磁盘的位置。停止容器之后,可以设置该虚拟磁盘的磁盘格式。还可以选择是以虚拟磁盘还是文件夹的形式保存,后面的选项可以删除虚拟磁盘和选择虚拟磁盘格式。从备份的角度来看,文件夹形式占用空间更少,但文件层级和数量很多,性能可能会有所下降。
容器数据存储位置。一般是容器的配置保存位置,默认是在
/mnt/user/appdata里,不建议修改。因为容器商店里的模板默认都是将容器数据映射在appdata文件夹里的,改了的话后续安装容器都要修改这个映射。容器日志轮换。每个容器都有日志,若不设置轮换,日志文件将会越来越大。
主机访问自定义网络。开启后主机会通过 macvlan 添加路由表,使得主机网络和容器网络互通。
保留用户自定义网络。Docker 默认的网络有三个,如果自己额外创建了网络,默认配置下重启后会删掉自己创建的网络。开启此选项,就不会删除了。
自定义 br0 上的网络。容器 br0 网络上的 ipv4 和 ipv6 地址的范围可在此设置。
容器卷信息。此处显示 Docker.img 的使用信息。
检查 Docker.img 虚拟磁盘系统完整性,有错误可在此修复。
注:6.10 增加了 macvlan 和 ipvlan 选择的设置项。
容器配置界面
总览,以上截图是开启了右上角的高级编辑模式。容器配置界面和容器手动添加界面是一样的。
容器自定义名称。可随意设置,但需注意:
1、容器名称不能重复,否则后创建的容器会创建失败
2、容器模板是以容器名称为规则来命名的。譬如,自定义容器名称为EmbyTest,则容器模板文件为my-EmbyTest.yml。Docker 自带的模板以及从链接获取的共享模板不在此规则内。容器概述。填写容器的简单描述,必要的配置步骤、文件及默认用户名密码等,可不填。
存储库。填写容器的镜像地址,若是 DockerHub 的镜像,可省略前面地址,格式为
作者名称/镜像名称:标签,其他存储库格式为存储库地址/作者名称/镜像名称:标签。
如果是官方镜像,或者是自己在本地创建的未添加作者的镜像,是不需要写作者名称的,填镜像名称:标签即可。
标签不填的话默认为latest。但需注意某些镜像的作者并没有添加标签为latest的镜像,会导致镜像拉取失败,容器创建失败。这种情况必须填写正确的标签。分类。该选项用户不需要填写,为镜像作者上架应用商店时填写,便于应用商店分类。
论坛地址、项目地址和 DockerHub 地址。这三个地址选填,只有填了才会在容器列表界面相应位置显示跳转按钮。
容器图标地址。容器图标地址是在容器列表界面及仪表板界面显示的容器图标,可以是外网地址也可以是 Unraid 地址加上图片的绝对路径。如果未设置或者因为网络原因图标访问失败,会调用系统内图片:
/usr/local/emhttp/plugins/dynamix.docker.manager/images/question.png,是一个问号。本地图片填写示例:http://127.0.0.1/mnt/user/icons/unraid.png容器访问地址。只有填写此项才会在容器列表界面显示 WEBUI 按钮。该地址无格式要求,只要是一个链接就可以,经常通过外网访问就输入容器外网访问链接,经常通过内网访问就输入内网链接。标准内网链接格式:
http://[IP]:[PORT:xxxx],IP 和 PORT 不需要改,xxxx 为端口号。小白可填写,大佬可忽略。额外提交参数。添加额外的参数,比如指定 Hostname。
CPU 分配。可在此分配容器使用的 CPU 核心线程数。
网络选择。默认三种,自己创建的也会在此显示。创建网络可在命令行输指令,也可通过 Portainer 界面创建。
自定义网络地址。只有选择了自己创建的桥接网络或者 br0,才会显示此选项,不填则自动分配,填入即可固定容器内网 IP。
控制台命令类型。进入容器命令行的命令类型。注意容器不一定支持。
高优先级。打开后容器对主机的访问权限提高。
自定义添加参数。某些参数无法在界面选项添加,可在此处添加。
显示高级设置。如果在添加的配置里选择了高级设置,则该配置会默认隐藏在该高级设置标签下。
显示 Docker 网络分配。显示其他容器的 IP 及端口。
添加参数。可在此添加参数配置,包括路径映射、端口映射、环境变量、设备映射、标签。
参数
每个参数都可设置默认值、名称、描述、显示方式、是否必填、密码是否可见。默认值可设置多个,中间用竖杠分开,点击的时候会以列表的形式展开以供选择;名称可随意填写;在第一次添加参数的时候描述会根据配置自动填写,后续修改参数描述不再自动更新;显示方式包含总是显示、隐藏在高级设置里和隐藏按钮的组合。
高级参数
读写模式高级环境变量类参数主要填写
名称-变量名-变量值;路径映射类参数主要填写名称-容器路径-主机路径,可设置读写权限;端口映射类参数主要填写名称-容器端口-主机端口,可设置 TCP/IP 协议。端口若与其他容器冲突,会安装失败,但配置模板会保留。
除此之外还有标签和设备选项,设备映射可让容器访问主机的硬件设备,比如显卡、声卡、主机状态等,标签可用于 Traefik 的动态配置。保存。点击保存,会显示当前配置模板文件的内容,以及创建容器的 cli 命令。
应用。点击应用,会创建容器或者更新容器。创建容器前会先拉取镜像,若镜像存在则直接创建;若容器存在则会删除容器重新创建。
6.10 新增自述文件。
容器列表界面
容器列表界面
总览,以上截图是开启了右上角的高级编辑模式。
只有在 Docker 设置界面设置启动了 Docker,菜单栏才会有 Docker 选项。
容器列表界面列出了当前安装的所有容器,容器的手动添加、更新、暂停、启动、编辑、模板库等也都是在这里选择。
对于每个容器而言,从左到右:
应用列
应用列
容器图标是在容器高级设置里设置的图标。点击容器名可进入容器编辑界面。点击图标会弹出窗口,窗口内的内容会根据配置的不同而有所不同。
如果是在命令行里安装的容器,不会显示 WEBUI、项目地址等信息,并且不会生成模板,没有模板也就不能在 Unraid 界面编辑,所以在命令行安装的容器只有启动、暂停、重启、移除、命令行、日志这些选项。用 compose 及 portainer 等第三方工具安装的也是如此。
在 Unraid 界面安装的容器会生成模板,就可以编辑,所以只要去添加了对应信息,就会出现对应按钮。容器状态有已启动、已暂停、已停止几种。
容器 ID 在容器停止、重启时不会改变,因为还是同样的容器,但是容器更新或者修改了容器参数之后会改变,因为重新创建了容器。
容器 ID 下面是容器的存储库地址,如果没有在容器的高级设置里填写,则这里不可点击。若镜像是官方镜像,或者是自己在本地创建的未添加作者的镜像,则显示
library/镜像名。版本列
第一行显示容器是否有新版本,没有新版本时显示无更新。
第二行在第一行是无更新时显示强制更新,有更新时显示应用更新。
第三行显示容器镜像的标签。目前已知强制更新的作用:如果只是要对某个容器升级,不必去对所有容器检查更新,这样会很慢,可以直接点击强制更新,会单独对这个容器检查更新并下载镜像,重新创建容器。
若显示可更新,但实际下载下来的镜像大小为 0,这种情况一般是添加了镜像加速地址导致的。因为通过官方地址检测到了更新,但镜像加速地址里的镜像还不是最新,跟本地的是一样的,当然没有东西可以拉取下来。
网络及映射列
网络及映射列
网络列显示网络模式,默认有桥接、主机和 br0,自定义网络就显示自己定义的网络名字。
端口映射列显示端口及地址映射情况。
前面为容器地址、端口和协议类型,地址根据网络模式不同而不同,默认桥接模式地址是172.17.0.0/16网段,主机模式地址和主机一样,br0 模式地址和主机一个网段,自定义网络地址为自己设定的网段。协议有 tcp 和 udp。
后面是主机地址,也就是 Unraid 主机地址,以及映射到内网的端口号。
路径映射也是前面为容器路径,后面为主机路径。负载、启动及其他列
负载、启动及其他列
负载列显示该容器的 CPU 及内存占用。
启动列开关可设置容器是否随 Docker 启动而自启动。
wait值单位为秒,含义是该容器启动多少秒后后面的容器再启动。譬如,数据库容器该值可设置的稍微大一些,以便后面依赖该数据库的容器启动时可以正常连接到该数据库。运行时间列显示容器的运行时间以及上次创建该容器时是多久之前。
最后一列的小箭头可调整容器排列顺序,同时该顺序也定义了开启了自启动容器的启动顺序。
容器列表下方
未使用的镜像
容器列表的下面会显示已拉取但未使用的镜像。点击前面图标可删除不需要使用的镜像,若删除失败,说明有已经安装的容器镜像依赖此镜像。将容器的镜像推送到 Dockerhub,删除容器、删除镜像,再重新拉取创建镜像即可。
添加容器时可选本地模板
操作按钮及远程模板
最下面的一排分别是添加容器、启动所有容器、停止所有容器、暂停所有容器、恢复所有容器、检查更新所有容器、升级所有容器、显示所有容器的大小(包含日志)。
容器模板库(6.10 已取消)
最下方是容器模板库。可以将别人的模板地址填写到这里,添加容器的时候就可以直接选择对应模板了。
应用商店新功能
自动侦测配置
2022-03-17 版本的应用商店已经支持自动侦测容器配置。这意味着以前只有安装上架应用商店的容器时才有模板(并且模板是作者写的,不一定所有配置都添加了),未上架容器需自己手动查找容器配置,手动添加。
网络模式提示
额外数据库提示
但是现在,未上架的应用,只要点击安装,就会自动下载镜像并从镜像中侦测配置,并且在安装前会提醒是否有端口冲突、默认用户名密码是多少、容器是否需要额外数据库,这个功能极大地简化了安装容器的步骤,强烈推荐安装。
总结
Unraid 关于 Docker 的使用大体上有以上这些,熟悉了每项的配置之后也就能玩的得心应手了。
我是小迪同学,下次见。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~










小迪课代表
校验提示文案
愤怒的白白
校验提示文案
反派
校验提示文案
折腾这快乐着折腾
校验提示文案
硬过条铁
校验提示文案
tao08ms
校验提示文案
Tommyvinny
校验提示文案
动感超人VK
校验提示文案
到处遛狼
校验提示文案
值友2054913020
校验提示文案
happyman2046
校验提示文案
李柯本
校验提示文案
quanmao
校验提示文案
乾为天
校验提示文案
尾巴小朋友
校验提示文案
这大叔不简单
校验提示文案
悬崖2011
校验提示文案
悬崖2011
校验提示文案
这大叔不简单
校验提示文案
尾巴小朋友
校验提示文案
乾为天
校验提示文案
quanmao
校验提示文案
李柯本
校验提示文案
tao08ms
校验提示文案
硬过条铁
校验提示文案
折腾这快乐着折腾
校验提示文案
happyman2046
校验提示文案
小迪课代表
校验提示文案
值友2054913020
校验提示文案
到处遛狼
校验提示文案
动感超人VK
校验提示文案
反派
校验提示文案
Tommyvinny
校验提示文案
愤怒的白白
校验提示文案