VPS装个Portainer可视化管理Docker:再也不用记命令行

Web界面管理容器、镜像、Stacks部署、资源监控和多VPS统一管理
发布于
1

Docker好用但docker ps、docker compose up、docker logs这些命令记不住也正常。Portainer给Docker加了一个Web可视化界面——在浏览器里管理所有容器、镜像、数据卷、网络,还能看每个容器的实时CPU和内存占用。

一条命令安装Portainer

docker volume create portainer_data
docker run -d --restart always 
  -p 9443:9443 
  -v /var/run/docker.sock:/var/run/docker.sock 
  -v portainer_data:/data 
  --name portainer 
  portainer/portainer-ce:latest

# 访问 https://VPS_IP:9443(注意是https不是http)
# 首次访问创建管理员账号(密码至少12位)

雨云入门VPS月付几块钱跑Portainer——它是个管理界面,本身不吃资源,内存占用50MB以内。优惠码 admin01 首月五折。Portainer通过挂载/var/run/docker.sock来和Docker守护进程通信,所以它能管理这台VPS上的所有Docker容器。

主界面能做什么

登录后选”Local”环境进入主面板。左侧菜单栏的功能:

  • 仪表板:显示容器总数、运行中的数量、镜像数量、数据卷数量。一眼看到整个Docker环境的健康状况。
  • 容器:列出所有容器。每个容器显示名称、状态、镜像、端口映射、创建时间。点进容器能看到:实时日志(和docker logs一样,但在网页上看更舒服)、CPU和内存使用曲线、环境变量、端口映射、数据卷挂载。可以直接在这个界面启动/停止/重启/删除容器。
  • 镜像:列出所有镜像,可以拉新镜像、删除旧镜像。Build镜像也支持——上传Dockerfile或指定Git仓库地址自动构建。
  • 网络:管理Docker网络,创建/删除自定义网络。
  • 数据卷:查看所有Docker Volume,可以看到每个volume的大小。
  • Stacks(堆栈):等于Docker Compose的可视化版——上传docker-compose.yml文件或粘贴内容,Portainer自动拉镜像并启动所有服务。这就是大部分建站场景最常用的功能。

用Stacks部署一堆服务

之前几篇教程里我们分别用命令行部署了Gitea、Nextcloud、Uptime Kuma、FreshRSS。有了Portainer,这些全可以统一管理。以部署Uptime Kuma为例:

左侧选”Stacks”→”Add stack”→起个名字→在Web Editor里粘贴docker-compose内容→点”Deploy the stack”。服务跑起来后在容器列表里就能看到,随时查看日志和重启。

一台VPS跑Portainer + 若干服务(Gitea + Uptime Kuma + FreshRSS),Portainer统一管理。加新服务就在Stacks里加一个stack。

实用的管理功能

镜像自动更新:Portainer支持Watchtower集成——镜像有新版本时自动拉取并重建容器。在容器详情里找到”Recreate”→勾选”Re-pull image”→重建容器自动用最新版镜像。全自动更新所有服务。

资源监控:容器详情页有CPU和内存的实时图表。哪个容器吃内存多一眼就能看到——比在终端打docker stats直观。

多VPS管理:Portainer可以同时管理多台VPS——在另一台VPS上也装Portainer Agent(代理模式),然后从主Portainer界面添加远程环境。一台Portainer管理你所有VPS的Docker。

Portainer和宝塔的区别

宝塔是全能型服务器面板——管理网站、数据库、FTP、防火墙、定时任务、文件。Portainer只管Docker——但它把Docker管理到了极致。两者不冲突可以配合用:宝塔管系统(装Nginx反代、管理防火墙、定时备份),Portainer管Docker(所有服务用容器跑)。

安全注意事项

Portainer有完整的Docker管理权限(包括执行命令、查看环境变量里的密码),所以安全很重要:

  • 用强密码——Portainer密码至少12位
  • 开Nginx反代加HTTPS,不要直接用HTTP访问9443端口(虽然自带自签名证书但Nginx+Let’s Encrypt更正规)
  • 不用的时候不要暴露到公网——用WireGuard VPN或SSH隧道连到VPS内网再访问
  • 定期更新Portainer镜像——docker compose pull portainer && docker compose up -d

常见问题

Portainer里删了容器数据会丢吗?

只删容器不会丢数据——容器是临时的,数据在Volume或绑定的宿主机目录里。只要你没有同时删Volume,数据安全。Portainer在删除容器时会提示”同时删除关联的Volume吗”,看清楚再选。

Portainer CE和BE有什么区别?

CE(社区版)免费、功能完整,个人和小团队完全够用。BE(商业版)多了RBAC权限控制、LDAP集成、镜像扫描等企业功能。个人用户用CE就行。

Portainer占内存吗?

极低——实际占用约30-50MB内存,CPU基本不吃。它就是个Web界面,不做数据处理。一台1核1G的VPS跑5个Docker服务+Portainer,内存用1G以内。

本文由作者原创/授权发布于极跃圈(jiyueip.com)未经许可,禁止转载。题图来自Unsplash,基于CC0协议。

声明:极跃圈(JIYUEIP.com)内网友所发表的所有内容及言论仅代表其本人,并不反映任何极跃圈(JIYUEIP.com)之意见及观点。

0 讨论
热门最新
总结
暂无总结
0 / 600

在命令行里敲SQL管理数据库是技术人的浪漫,但偶尔想可视化看看数据、导出一份CSV、或者快速改一行记录——phpMyAdmin是标配。装在VPS上通过浏览器访问,比本地装MySQL客户端方便。 Docker部署phpMyAdmin dock