前言

NAS里的某个服务突然打不开时,第一步通常是先连接SSH,再执行docker ps确认容器状态,接着查看日志、端口和挂载目录。问题不一定复杂,但每次都要在多条命令之间来回切换。

当运行的容器越来越多以后,只靠命令行管理会变得不够直观。容器名称、镜像版本、端口映射和数据卷信息分散在不同输出中,想快速了解整体状态并不方便。

Portainer CE为Docker增加了一个浏览器管理界面。打开页面后,就能集中查看容器是否运行、使用了哪些端口,并继续进入日志、详细配置、镜像和数据卷等管理页面。

本文将在飞牛NAS中部署Portainer CE,完成管理员账号初始化,并体验容器、日志、镜像、数据卷和用户管理等常用功能。

局域网管理验证完成后,还会通过cpolar为Portainer的9000端口创建公网入口。这样离开家庭网络后,也可以继续打开管理页面查看Docker运行状态。

image-20260715142952987

1.什么是Portainer CE?

Portainer CE(Community Edition) 是一款免费、开源、轻量级的容器管理平台,专为简化Docker、Docker Swarm、Kubernetes和边缘计算环境 的可视化操作而设计。它的核心目标是:让容器管理变得像使用手机App一样直观、简单、高效。

核心功能亮点:

功能说明
✅ 可视化容器管理查看、启动、停止、重启、删除容器,实时查看日志、资源占用(CPU/内存)
✅ 镜像 & 卷 & 网络管理一键拉取镜像、清理无用镜像、管理数据卷和自定义网络
✅ 应用模板部署内置常用服务模板(如 Nginx、MySQL、Redis),点一下就能部署
✅ Stack(Compose)支持可直接编辑和部署 docker-compose.yml 文件,支持 Git 集成
✅ 多端点管理一个 Portainer 实例可同时管理本地 + 远程 Docker 主机、Swarm 集群甚至边缘设备
✅ 用户与权限控制支持多用户、团队、角色权限(CE 版基础权限,商业版更强大)
✅ 轻量 & 跨平台单个容器即可运行,支持 Linux、Windows、macOS、树莓派、NAS 等

Portainer CE vs 商业版

特性CE(社区版)BE(商业版)
💰 价格完全免费 + 开源(MIT 许可)付费(提供企业支持)
👥 用户管理基础账号 + 团队高级 RBAC、LDAP/AD 集成
🔒 安全审计基础操作记录会话录制、合规报告
☁️ Kubernetes基础支持深度集成、Helm 管理、策略控制
📦 高可用单实例多节点 HA 部署

对于个人开发者、小团队、学习或边缘场景,CE 版已完全够用。

典型使用场景:

  • 开发者:本地快速调试容器,不用记复杂命令
  • 运维新手:告别“盲操”Docker,可视化降低出错率
  • NAS 用户(如群晖、TrueNAS):通过 Docker 安装 Portainer,统一管理所有容器
  • 教育/演示:教学生 Docker 时,图形界面更直观
  • 边缘设备管理:通过 Edge Agent 远程管控树莓派、工控机上的容器

总结:

Portainer CE不是一个“替代Docker的工具”,而是Docker的“最佳搭档”。

它不改变底层技术,只是把复杂的命令行操作,变成你熟悉的操作逻辑——点击、拖拽、确认。

正如它的口号所说:“Simple management for your container environments.”

如果你觉得docker命令太枯燥、容易出错,或者想让非技术人员也能安全地操作容器,Portainer CE绝对值得你花5分钟试试。

2.安装前提条件

2.1ssh远程连接到飞牛

  • 开启【SSH 服务】
  • 使用终端(Windows PowerShell / Mac Terminal)登录:

在设置—>SSH中开启SSH服务:

463c5f2aa280d7887420494b8b8f852e

27abe7f94baeaebc1738b60b1ba78933

e16c7480a399e50f627439329422c5a7

2.2验证docker是否开启

使用命令:

docker -v 
systemctl status -v

也可以直接在飞牛主页查看(其他机器也是这样的哦~)

bc2a0952beed8ca143a171bb000b2b23

3.安装Portainer CE

拉取Portainer镜像:

  • 作用:从Docker Hub下载最新版的Portainer社区版镜像。
  • portainer/portainer-ce是官方镜像名称。
  • :latest 表示拉取最新版本(也可以指定具体版本,如 :2.21.0)。
docker pull portainer/portainer-ce:latest

image-20260715134711205

创建持久化数据卷:

  • 作用:创建一个名为 portainer_data 的 Docker 卷,用于持久化存储 Portainer 的配置、用户数据、设置等。
  • 这样即使容器被删除或重建,配置也不会丢失。
docker volume create portainer_data

image-20260715134748525

启动Portainer容器:

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

image-20260715135037015

查看portainer-ce容器状态:

docker ps

检查portainer-ce容器日志:

docker logs portainer 

image-20260715135507353

部署完成后,在浏览器中输入 http://飞牛IP:9000 就能看到Portainer CE的界面:

image-20260715135134431

4.关于Portainer CE的配置与使用

4.1 初始化设置

第一步先注册用户,输入我们能记住的密码:

image-20260715141242899

注册完用户以后进入portainer-ce首页:

image-20260715141308652

4.2 使用Portainer CE

容器列表

安装如图所示点击,我们可以查看到当前所有镜像:

  • 可以查当前状态,端口等基础信息

image-20260715141751720

继续点击如图所示:

  • 查看容器日志

image-20260715142010617

image-20260715142032207

继续点击如图所示:

  • 查看容器日志

image-20260715142122720

image-20260715141919759

继续点击如图所示:

  • 查看容器详细信息

image-20260715142145798

image-20260715142209949

镜像

查看当前镜像列表:

image-20260715142250334

上传新的镜像:

image-20260715142336278

image-20260715142501467

管理数据卷

image-20260715142522000

添加数据卷:

image-20260715142649181

image-20260715142658227

新建账户

image-20260715142808993

修改原有账户密码:

image-20260715142845153

image-20260715142854905

还有更多信息等你们去解锁~!

image-20260715142928495

Portainer CE作为一款轻量级、开源的Docker可视化管理工具,极大简化了容器、镜像、网络和数据卷的操作;而将其与cpolar结合,则能突破内网限制,实现安全、稳定的远程访问——无需公网IP或复杂端口映射,只需一条cpolar隧道,即可随时随地通过HTTPS安全连接到本地Portainer管理界面,真正让边缘设备、家庭服务器或开发环境中的容器管理“触手可及”,突出cpolar在内网穿透领域的便捷性、安全性和零配置优势

5.安装cpolar实现随时随地开发

5.1 什么是cpolar?

cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。

5.2 部署cpolar

cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。

❤️以下是安装cpolar步骤:

使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

image-20250725104019896

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

22e5adfaf290a17fc3384bb296055259

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

8a6698b1bf26d64ba3645827fbfb1c29

6.配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:Portainer-CE,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:9000
  • 域名类型:随机域名
  • 地区:选择China Top

image-20260715143835088

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

image-20260715143945788

访问成功。

image-20260715144001810

7.保留固定公网地址

使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

image-20250918151358733

点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是Portainer-CE,大家可以自定义。填写备注信息,点击保留。

image-20260715144321411

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20260715144344892

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20260715144411791

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20260715144423450

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20260715144431997

总结

完成以上配置后,Portainer CE已经通过Docker运行在飞牛NAS中,并可以通过9000端口打开初始化页面。

创建管理员账号后,就可以进入Portainer的管理界面,查看当前Docker环境中的容器、镜像、数据卷和其他资源。

在容器列表中,可以直接确认服务是否运行、使用了哪些端口,并继续查看容器日志和详细配置信息。常用的启动、停止和重启操作,也可以在页面中完成。

镜像和数据卷同样能够集中管理。以后新增服务或排查存储问题时,不必只依赖终端命令,也可以通过浏览器页面了解当前资源情况。

Portainer的数据保存在独立的Docker数据卷中,容器重新创建后,已经设置的账号和管理配置仍可以继续使用。

通过cpolar为9000端口创建公网隧道后,Portainer管理页面也可以从手机、笔记本和其他网络环境中访问。

随机域名适合临时管理,配置固定二级子域名后,可以获得一个更加方便收藏和长期使用的访问入口。

从Portainer CE部署,到容器、镜像和数据卷管理,再到公网访问,本文完成了一套运行在飞牛NAS中的Docker可视化管理方案。

更多推荐