部署 Portainer CE,把日志、镜像和数据卷搬进网页

前言

打开 Portainer 以后,Docker 里很多原本需要分别敲命令完成的操作,会直接出现在同一个页面里。

哪些容器正在运行、映射了什么端口,可以从列表中直接查看;某个服务启动失败,不必先输入 docker logs,点进容器就能检查日志;镜像、数据卷、网络以及 Stack 也都有对应的管理入口。它并没有改变 Docker 的底层运行方式,只是在 Docker Engine 之上增加了一套可视化管理界面。

本文会在已经开启 Docker 和 SSH 的飞牛 NAS 上部署 Portainer CE,创建持久化数据卷,并实际体验容器状态、日志、镜像和数据卷等常用功能。对于刚开始管理多容器环境的人来说,这些高频操作可视化之后,排查和维护会直观很多。

本地管理确认正常后,再使用 cpolar为 Portainer 增加外部访问入口,让人在其他网络中也可以进入这套容器管理后台。不过 Portainer 拥有很高的 Docker 管理权限,因此远程访问这一部分,安全性比"能不能打开页面"本身更值得注意。

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服务:

2.2验证docker是否开启

使用命令:

shell 复制代码
docker -v 
systemctl status -v

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

3.安装Portainer CE

拉取Portainer镜像:

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

创建持久化数据卷:

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

启动Portainer容器:

shell 复制代码
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

查看portainer-ce容器状态:

shell 复制代码
docker ps

检查portainer-ce容器日志:

shell 复制代码
docker logs portainer 

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

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

4.1 初始化设置

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

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

4.2 使用Portainer CE

容器列表

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

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

继续点击如图所示:

  • 查看容器日志

继续点击如图所示:

  • 查看容器日志

继续点击如图所示:

  • 查看容器详细信息

镜像

查看当前镜像列表:

上传新的镜像:

管理数据卷

添加数据卷:

新建账户

修改原有账户密码:

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

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

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

5.1 什么是cpolar?

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

5.2 部署cpolar

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

❤️以下是安装cpolar步骤:

使用一键脚本安装命令:

shell 复制代码
sudo curl https://get.cpolar.sh | sh

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

shell 复制代码
sudo systemctl status cpolar

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

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

6.配置公网地址

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

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

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

访问成功。

7.保留固定公网地址

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

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

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

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

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

点击更新

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

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

总结

Portainer CE 最适合承担的角色,并不是替代 Docker,而是把 Docker 已经提供的很多管理能力重新整理成一个更容易查看和操作的界面。

容器启动失败时可以直接翻日志,想确认端口和运行状态不用先执行 docker ps,镜像、网络和数据卷也不需要在多条命令之间来回切换。尤其是 NAS 上运行的容器越来越多以后,这种集中管理方式会比单纯依靠命令行更方便日常维护。

但可视化并不意味着 Docker 的基础概念可以完全跳过。端口映射、数据持久化、网络、镜像版本这些问题依然存在,只是操作入口从终端换到了浏览器。真正遇到复杂故障时,命令行仍然是很重要的排查工具。

如果再通过 cpolar增加远程访问入口,还需要把 Portainer 当成一个高权限管理后台来保护,而不是普通网页。优先使用 HTTPS 管理端口、设置强管理员密码,并避免把不必要的 Docker 或 NAS 服务同时开放出去。

对于个人服务器、NAS 和 HomeLab 来说,Portainer CE 真正省下来的不是"学习 Docker 的时间",而是以后每次管理容器时那些重复敲命令、找日志和确认状态的时间。

相关推荐
SelectDB技术团队14 分钟前
Apache Doris 在内容 AI 生产链路中的实践:从内容打标到可追溯数据链路
大数据·人工智能·大模型·向量检索·混合搜索·ai 打标·内容分析
心易行者15 分钟前
html在线运行搭AI编程验证流水线:5步走完从生成到到上线全流程
人工智能·python·ai编程
show43320 分钟前
2026方言语音识别技术现状:小程序端22种方言免费识别挑战与进展
人工智能·小程序·语音识别
A.说学逗唱的Coke22 分钟前
【大模型专题】当“过度工程“成为智能体的进化接口:从 Prompt Engineering 到 Agent 自进化 Harness 的工程实践
人工智能·prompt
^酸酸24 分钟前
Prometheus 监控架构部署实战:二进制与 Docker 双方案
docker·架构·prometheus
吠品28 分钟前
TortoiseSVN 状态图标不显示的排查与解决办法
java·服务器·数据库
知了一笑29 分钟前
AI工作流:从企业到个人的落差
人工智能
seacracker31 分钟前
从本地磁盘到 NVMe-oF target:PowerFS 存储后端抽象的预留式分层设计
架构·ai存储·统一存储·powerfs