随着飞牛NAS(fnOS)上运行的Docker容器越来越多,命令行管理变得既繁琐又容易出错。Portainer作为一款轻量级的Docker可视化管理工具,能帮你用图形界面轻松管理容器、镜像、网络和卷。今天我们就来一步步在飞牛NAS上部署Portainer,从此告别“黑窗口”操作。
准备工作
在开始之前,请确保你的飞牛NAS已经开启了Docker服务,并且能够正常拉取镜像。建议通过SSH登录到NAS终端操作,或者直接在飞牛桌面的“终端”应用中执行命令。
我们需要两个端口:
- 9000:Portainer的Web管理界面端口
- 8000:Portainer Agent的通讯端口(可选,若只管理本机Docker可忽略)
创建数据卷
Portainer需要持久化存储配置数据,我们先创建一个专用卷:
docker volume create portainer_data
这个卷会保存Portainer的登录账号、环境设置等所有数据,即使容器重建也不会丢失。
部署Portainer容器
在SSH终端中执行以下命令:
docker run -d \
--name portainer \
--restart=always \
-p 9000:9000 \
-p 8000:8000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest
参数解释:
- -d:后台运行
- --name portainer:容器命名
- --restart=always:开机自启,异常退出自动重启
- -p 9000:9000:映射Web管理端口
- -v /var/run/docker.sock:/var/run/docker.sock:挂载Docker套接字,让Portainer能控制宿主机Docker
- -v portainer_data:/data:挂载数据卷
如果你的飞牛NAS已安装Docker Compose,也可以创建docker-compose.yml文件:
version: '3.8'
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: always
ports:
- "9000:9000"
- "8000:8000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
volumes:
portainer_data:
然后执行docker-compose up -d即可。
初始化Portainer
容器启动后,打开浏览器访问http://你的NAS_IP:9000。首次访问会看到创建管理员账号的界面,设置一个强密码(至少12位,包含大小写字母和数字)。
创建完成后,系统会询问连接方式。选择“开始”或“Get Started”,Portainer会自动检测到本机的Docker环境。点击“环境”页面,确认能看到“local”环境且状态为“已连接”,这就表示Portainer已经成功接管了你的Docker。
日常使用技巧
登录后主界面左侧是导航菜单,我们来看看最常用的几个功能:
容器管理:点击“容器”可以查看所有运行中的容器。每个容器卡片上都有启动、停止、重启、删除按钮,点击容器名称还能查看实时日志、监控资源占用、进入控制台终端。想修改容器的端口映射或环境变量,可以直接点击“复制/编辑”按钮,修改后重新部署。
镜像管理:在“镜像”页面,你可以拉取新镜像,比如输入nginx:latest点击拉取,或者对已有镜像进行打标签、推送等操作。Portainer甚至支持直接从网页上传镜像文件。
应用模板:Portainer内置了多套应用模板,比如Nginx、MySQL、Redis等。点击“应用模板”选择需要的应用,填写端口、密码等参数,即可一键部署,无需手写命令。
网络管理:在“网络”页面,你可以创建自定义的bridge网络,让容器之间通过内部网络名互访。比如创建一个my_network,然后部署两个容器都加入这个网络,它们就能通过容器名互相通信。
连接远程Docker主机
如果你想用Portainer管理多台机器上的Docker,可以在其他机器上部署Portainer Agent。在远程主机上执行:
docker run -d \
--name portainer_agent \
--restart=always \
-p 9001:9001 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
portainer/agent:latest
然后在主Portainer界面点击“环境”->“添加环境”,选择“Agent”类型,填入远程主机的IP和9001端口,即可统一管理多台Docker主机。
安全注意事项
默认情况下,Portainer没有任何安全限制。建议在飞牛NAS的防火墙中仅放行内网IP访问9000端口。如果必须外网访问,请务必配置HTTPS证书,并开启Portainer的“访问控制”功能,为不同用户分配不同环境的权限。另外,定期备份portainer_data卷数据,以防意外丢失。
总结
通过Portainer,飞牛NAS上的Docker管理变得直观高效。无论是查看容器状态、修改配置还是部署新应用,都可以在浏览器中轻松完成。特别是对于不熟悉命令行的用户,Portainer能大幅降低Docker的使用门槛。部署完成后,建议花点时间熟悉各个菜单的功能,你会发现它就是你的Docker控制中心。随着使用深入,你还可以尝试Portainer的叠加网络、编排等功能,进一步挖掘飞牛NAS的容器潜力。