Docker 玩法

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

随着飞牛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的容器潜力。

💬 评论区
发表评论

暂无评论,来说两句吧