Docker 玩法

飞牛NAS部署Portainer:Docker可视化管理

Portainer 是目前最流行的 Docker 图形化管理工具,没有之一。对于使用飞牛NAS(fnOS)的用户来说,虽然系统自带的应用中心和 Docker 管理界面已经足够日常使用,但一旦你开始部署多个容器、需要查看日志、管理网络或批量操作时,原生界面的局限性就会显现。Portainer 能给你提供像专业服务器管理面板一样的体验,而且部署过程极其简单。

为什么选择 Portainer

飞牛NAS 的 Docker 管理界面已经做得不错,但 Portainer 在几个关键场景下优势明显:多环境集中管理,可以同时连接本地和远程 Docker 节点;细粒度的权限控制,方便给家人或同事分配不同级别的访问权限;更直观的容器资源监控图表,以及一键式部署模板库。尤其当你需要管理 Portainer 之外的其他 Docker 节点时,它的价值就完全体现出来了。

前置准备

在开始之前,请确保你的飞牛NAS 已经安装了 Docker 套件,并且系统版本在 0.8.19 或以上。我们将在 fnOS 的 SSH 终端中操作,如果你不熟悉命令行,也可以直接在飞牛NAS 的 Docker 界面中通过“镜像” - “拉取”功能获取镜像,但本文主要提供命令行方式,因为这样更通用且便于复制粘贴。

第一步:创建持久化数据目录

Portainer 的所有配置数据都需要持久化保存。首先在 NAS 的 Docker 数据目录下创建一个专用文件夹。打开 SSH 终端(或使用飞牛NAS 自带的“终端”应用),执行:

sudo mkdir -p /vol1/docker/portainer/data

如果你的存储池不是 vol1,请根据实际情况修改路径。建议在飞牛的文件管理器中确认 Docker 数据盘的具体挂载点。

第二步:部署 Portainer 容器

Portainer 官方推荐使用 Docker 卷来存储数据,但为了便于备份和管理,我们直接挂载本地目录。执行以下命令部署最新版的 Portainer CE(社区版完全免费):

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

命令解释:-d 表示后台运行,--restart=always 确保容器在 NAS 重启后自动启动,-p 9000:9000 将 Web 管理界面映射到宿主机 9000 端口,两个 -v 挂载分别用于访问 Docker 套接字(这是 Portainer 能管理 Docker 的关键)和持久化数据。

如果你不想用 9000 端口,可以改为任意未被占用的端口,比如 -p 9443:9443 是 HTTPS 端口,但初次使用建议直接用 HTTP 方便测试。

第三步:初始化 Portainer

容器启动后,打开浏览器访问 http://你的NAS局域网IP:9000。首次访问会看到创建管理员账号的界面。设置一个强密码,建议使用 12 位以上的混合字符。创建完成后,选择连接模式,这里务必选择“本地环境”(Local),因为我们要管理的就是这台飞牛NAS 上的 Docker。点击“Connect”即可进入主界面。

进入后,你会看到左侧菜单栏有仪表盘、应用模板、容器、镜像、网络、卷等选项。点开“容器”菜单,你能看到飞牛NAS 上所有正在运行的容器,包括 Portainer 自身。这里的操作非常直观,点击容器名称可以查看实时日志、终端、统计信息,这些功能比飞牛原生界面要强大得多。

第四步:进阶配置与安全加固

默认情况下,Portainer 是纯 HTTP 访问,数据在局域网内是安全的,但如果想通过外网访问,强烈建议启用 HTTPS。最简单的方式是在反向代理层面配置,但更直接的做法是修改容器端口映射为 9443 并使用自签名证书。不过对于绝大多数家庭用户来说,局域网内使用已经足够。

另外建议在“设置” - “用户”中,创建一个权限受限的“标准用户”账号,只赋予对特定容器或特定端点的只读权限。这样即使账号泄露,也无法对 Docker 环境造成破坏。

如果你的飞牛NAS 上还有其他 Docker 主机(比如另一台服务器),可以在“环境” - “添加环境”中,选择“Docker 代理”,然后填入远程主机的 IP 和端口,实现统一管理。这非常适用于有多台 NAS 或 VPS 的用户。

第五步:利用应用模板快速部署

Portainer 内置了应用模板库,包含常用的 Nginx、MySQL、Redis、WordPress 等。点击“应用模板”,选择一个应用,例如“Redis”,填写名称和端口映射,点击“部署”即可。这个功能在飞牛NAS 原生界面中是没有的,可以显著提升部署效率。

你也可以自定义模板,将常用的 docker-compose 文件保存为 JSON 模板,之后一键部署。点击“应用模板” - “自定义模板” - “添加模板”,将 compose 内容粘贴进去即可。

总结

在飞牛NAS 上部署 Portainer 只需一条命令,却能带来质的提升。它解决了多容器管理时的可视化痛点,提供了更细致的监控和更灵活的权限体系。尤其适合那些已经部署了十几个容器、需要频繁调试的中高级玩家。对于刚接触 Docker 的新手,Portainer 也能通过图形化界面帮助你理解容器、镜像、网络之间的关系。最后提醒一下,Portainer 本身也是一个容器,升级时先拉取新镜像再重建容器即可,数据不会丢失。现在就去试试吧,你的飞牛NAS 将变得更加强大。

💬 评论区
发表评论

暂无评论,来说两句吧