hqbsh.com 运行时间
HQBSH.com的whois记录显示注册于2013年1月18日,至今已经持续运营了:0年0个月0天零0小时0分钟0秒

最新报价
 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 334|回复: 0

[求助] 华硕TUF Gaming主板DIY NAS:Ubuntu/CentOS 2026最新Docker安装全攻略

[复制链接]

169

主题

0

回帖

145

银子

超级版主

积分
3699
发表于 2026-4-16 06:06 | 显示全部楼层 |阅读模式
本帖最后由 dctc_shouhuzhe 于 2026-8-3 23:24 编辑

写在前面:先把这事儿说清楚

先打个预防针——不少朋友搜"华硕 TUF NAS"会一脸问号,华硕 TUF Gaming 这个品牌目前并没有官方 NAS 产品线。华硕旗下的 NAS 业务归属于子品牌华芸(ASUSTOR)。不过在 DIY NAS 圈子里,TUF Gaming 系列主板(尤其是 B550/X670/Z890 平台)凭借扎实的供电、良好的扩展性和对 Linux 的友好兼容,一直是很多人攒 NAS 的首选。所以本文说的"TUF NAS",其实指的是用 TUF Gaming 主板自攒的家用/小型工作室 NAS 主机,这点大家心里先有数,别被标题党带偏了。

为啥要在 NAS 上折腾 Docker?说白了,就是真香。一旦跑起来,你那台 NAS 就不再只是个存片儿的仓库,而是一台能跑 Jellyfin 影音、Home Assistant 智能家居、Vaultwarden 密码管理、甚至本地大模型推理的一体化服务器。TUF 主板普遍带多 SATA 口 + NVMe 槽位,配上 AMD Ryzen 或 Intel 酷睿处理器,跑容器绰绰有余。

下面这套教程是我自己实测过 Ubuntu 22.04/24.04 和 CentOS Stream 9/10 的完整流程,截至 2026 年 08 月仍在持续验证中。涵盖环境准备、内核调优、Docker 安装、镜像加速(国内用户刚需)、常用服务部署,以及踩过的坑和解决方案。


一、硬件与系统前置条件

1.1 TUF 主板 DIY NAS 常见配置一览

TUF Gaming 系列覆盖 Intel 和 AMD 双平台,从入门的 B560/B650 到高端的 Z790/X870 都能拿来当 NAS 用。典型配置:

  • CPU:Intel 酷睿 i3/i5 第 10 代以后,或 AMD Ryzen 5/7 系列(带核显即可,省一张亮机卡)
  • 内存:8GB DDR4 起步,16GB 为推荐配置,跑多个容器不慌
  • 存储:TUF 主板一般有 4–6 个 SATA 口 + 1–2 个 M.2 NVMe,正好做系统盘 + 数据盘分层
  • 网卡:板载千兆,部分高端型号带 2.5G 网口,链路聚合跑满带宽

1.2 系统选型建议

系统版本 状态(截至 2026.08) 适合人群
Ubuntu Server 24.04 LTS主流支持中(至 2029.04)首选,社区资源最丰富
Ubuntu Server 22.04 LTS维护期(至 2027.04)老机器兼容性首选
Ubuntu 25.10 / 26.04 LTS短期支持 / 新版 LTS尝鲜用户
CentOS Stream 9持续滚动更新RHEL 系老用户
CentOS Stream 10已正式发布RHEL 10 内核,2026 新选择
CentOS Linux 8已 EOL(2021.12)不建议再用
⚠️ 划重点:CentOS Linux 8 在 2021 年底就已经停止维护,安全更新彻底没了,生产环境千万别用。如果还卡在 CentOS 7,那也已经是 EOL 状态,尽快迁移到 CentOS Stream 9 或 Rocky Linux 9。

1.3 硬件兼容矩阵

这部分对 TUF 用户特别重要,列出来方便你对着自家配置排查:

组件 兼容型号 / 规格 注意事项
处理器Intel Core i3/i5/i7 第 10 代后、AMD Ryzen 5/7老旧型号可能缺少某些容器化特性支持
内存8GB+ DDR4低于 4GB 可能导致 Docker 守护进程启动失败
存储控制器Intel RST、AMD RAID部分 RAID 模式需切换为 AHCI 才能正常使用 Docker 存储驱动
网卡Intel i211/i218V、Realtek RTL8111Realtek 网卡在 Ubuntu 下需额外安装驱动
USB 接口USB 3.0/3.1/3.2安装系统镜像时建议使用后置 USB 口,避免前置接口供电不稳导致安装中断

1.4 前提条件

  • TUF 主机已安装 Ubuntu 22.04/24.04 LTS 或 CentOS Stream 9/10
  • 具备 sudo 或 root 权限的管理账户
  • 稳定的网络连接(国内网络必须配置镜像加速,后文会单独讲)
  • 建议 NAS 具备至少 4GB RAM,8GB 以上为生产环境推荐配置

二、Ubuntu 系统 Docker 安装(完整流程)

2.1 环境准备与基础配置

Ubuntu 安装 Docker 存在两条主流路径:通过 APT 仓库安装(推荐)和使用官方 convenience script(仅推荐测试环境)。生产环境优先选择 APT 仓库方式,以保障版本可控性与后续升级管理。

首先更新系统软件包索引,确保所有依赖处于最新状态:


sudo apt update && sudo apt upgrade -y

截至 2026 年,Ubuntu 22.04/24.04 LTS 默认已经启用 cgroups v2(systemd 默认配置就是 unified cgroup hierarchy),所以这一步主要是验证一下,心里有数。检查当前 cgroup 版本:


stat -fc %T /sys/fs/cgroup/

输出结果为 cgroup2fs 就说明已启用 cgroups v2,符合现代 Docker 要求。如果哪天你跑出来是 tmpfs 或传统 cgroup v1,那就要在内核启动参数里追加 systemd.unified_cgroup_hierarchy=1,编辑 /etc/default/grub 中的 GRUB_CMDLINE_LINUX_DEFAULT 字段后执行 sudo update-grub 并重启。

2.2 内核参数调优

在 Ubuntu 上部署 Docker 前,建议预先调整若干内核参数以适配容器运行需求。编辑 /etc/sysctl.d/99-docker.conf


sudo tee /etc/sysctl.d/99-docker.conf <<'EOF'
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1

net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-arptables = 1

fs.file-max = 2097152
fs.nr_open = 1048576

vm.max_map_count = 262144

net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 65535

kernel.pid_max = 65535
EOF

应用配置:


sudo sysctl --system
这几个参数是容器网络的命门:桥接网络要靠 bridge-nf-call-iptables,Elasticsearch 之类吃内存的容器离不开 vm.max_map_count,文件句柄数 fs.file-max 决定了你最多能同时跑多少容器。说真的,这一步别跳过。

2.3 安装依赖包

Docker 依赖若干系统工具,需提前安装:


sudo apt install -y ca-certificates curl gnupg lsb-release

其中 gnupg 用于验证软件包签名,lsb-release 提供发行版信息,curl 用于下载公钥。

2.4 添加 Docker 官方 GPG 密钥与 APT 仓库

创建 /etc/apt/keyrings 目录(Ubuntu 22.04 及以后版本要求),并导入 Docker 仓库签名密钥:


sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

随后配置 Docker APT 仓库(注意包含架构参数,确保非 amd64 架构也能正确识别):


echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

此处 $(dpkg --print-architecture) 自动匹配 CPU 架构,涵盖 amd64、arm64 等主流平台,TUF 主机使用的 Intel/AMD 处理器对应 amd64 架构。

2.5 安装 Docker Engine

更新软件包索引并执行安装:


sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安装完成后验证:


sudo docker run hello-world

看到 "Hello from Docker!" 就说明跑通了。


三、CentOS Stream 9/10 系统 Docker 安装(补全章节)

原稿只给了 Ubuntu 部分,标题承诺的 CentOS 这块补上。RHEL 系安装流程和 Ubuntu 差异不小,重点在 SELinux、firewalld 和 yum 仓库。

3.1 卸载旧版本(如果是升级环境)

老机器上可能装了 docker、podman,先清理干净避免冲突:


sudo dnf remove -y docker docker-client docker-client-latest docker-common \
  docker-latest docker-engine podman runc

3.2 安装依赖包

CentOS Stream 9/10 默认使用 dnf,包名略有不同:


sudo dnf install -y yum-utils device-mapper-persistent-data lvm2

3.3 添加 Docker 仓库

yum-utils 提供了 yum-config-manager 命令,比手动写 repo 文件省事:


sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3.4 安装 Docker Engine


sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

如果遇到 GPG 密钥报错,手动导入:


sudo rpm --import https://download.docker.com/linux/centos/gpg

3.5 启动并设置开机自启

RHEL 系用 systemctl 管理服务:


sudo systemctl enable --now docker
sudo systemctl status docker

3.6 SELinux 与 Docker 的交互(重点)

这是 CentOS 用户最常踩的坑。SELinux 默认是 enforcing 模式,部分容器挂载卷或自定义网络会出现 Permission denied 错误。

方案 A(推荐生产): 给容器挂载的目录打 SELinux 标签:


sudo chcon -Rt svirt_sandbox_file_t /your/data/path

方案 B(仅测试环境): 临时关闭 SELinux:


sudo setenforce 0

方案 C(折中): 改用 --privileged 启动容器(不推荐生产)。

老实讲,搞不定 SELinux 的时候,先 sudo ausearch -m avc --start recent 看看日志,比瞎试强。

3.7 firewalld 防火墙配置

CentOS 默认开 firewalld,Ubuntu 用 ufw,两者规则语法不一样:


# 放行 Docker 默认端口(按需调整)
sudo firewall-cmd --permanent --add-port=2375/tcp
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload

四、镜像加速配置(国内用户必看)

国内直连 Docker Hub 经常超时,pull 镜像慢到怀疑人生。这一步必须配,否则后面 docker pull 能等到花儿都谢了。

4.1 创建 daemon.json

编辑 /etc/docker/daemon.json(没有就新建):


{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.ccs.tencentyun.com"
  ],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  }
阿里云用户可以去控制台申请专属加速地址(格式 https://<你的ID>.mirror.aliyuncs.com),速度更快。

4.2 重启 Docker 生效


sudo systemctl daemon-reload
sudo systemctl restart docker

4.3 验证加速是否生效


docker info | grep -A 5 "Registry Mirrors"

能看到刚才填的镜像地址就 OK 了。


五、安装后必做配置

5.1 非 root 用户免 sudo 操作 Docker

每次都 sudo docker xxx 太烦,把当前用户加入 docker 组:


sudo usermod -aG docker $USER
newgrp docker
⚠️ 注意:docker 组等同于 root 权限,多用户环境下慎用,生产环境建议用 rootless 模式。

5.2 验证 Docker Compose

新版 Docker 已集成 Compose v2,无需单独安装:


docker compose version

5.3 存储驱动选择

Ubuntu 22.04+ 和 CentOS Stream 9/10 内核都默认支持 overlay2,这也是 Docker 官方推荐的存储驱动,无需手动配置。

如果你刷的老内核(比如 CentOS 7),就只能用 devicemapper,性能差很多。建议直接升级系统。


六、常用服务部署示例

Docker 装好不跑点服务等于白装。给三个我自己常用的容器部署示例,TUF 这种中等配置 NAS 跑起来毫无压力。

6.1 Portainer(Docker 可视化管理)


docker run -d -p 9000:9000 \
  --name portainer \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:latest

访问 http://NAS_IP:9000 即可。

6.2 Jellyfin(家庭影音)


docker run -d \
  --name jellyfin \
  --restart=always \
  -p 8096:8096 \
  -v /your/media/path:/media \
  -v jellyfin_config:/config \
  jellyfin/jellyfin:latest

6.3 Vaultwarden(密码管理)


docker run -d \
  --name vaultwarden \
  --restart=always \
  -p 8080:80 \
  -v /your/vaultwarden-data:/data \
  vaultwarden/server:latest

访问 http://NAS_IP:8080 即可开始使用。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

 
 
加好友78950405
QQ臨時會話
華強北商行笔记本,手機
淘宝阿里旺旺
沟通交流群:
水货thinkpad笔记本
工作时间:
11:00-22:00
电话:
18938079527
微信联系我们

QQ|手机版|华强北商行 ( 粤ICP备17062346号 )

JS of wanmeiff.com and vcpic.com Please keep this copyright information, respect of, thank you!JS of wanmeiff.com and vcpic.com Please keep this copyright information, respect of, thank you!

|nimba_sitemap:appname 手机端 公司简介 联系方式 版权所有@

GMT+8, 2026-8-16 01:52 , Processed in 0.013556 second(s), 6 queries , Redis On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表