POST

Portainer:不想敲 docker 命令的时候,用它管容器

容器、镜像、网络、卷,全在一个网页里。看日志、进终端、改环境变量、批量清理,都不用回命令行。

用 Docker 的人有两种:一种觉得命令行又快又爽,一种只想点鼠标。

Portainer 是给后者的。它把 docker ps、docker logs、docker exec、docker compose 这些操作全搬到网页上。

装

应用中心搜 Portainer,或者:

services:
  portainer:
    image: portainer/portainer-ce:latest
    container_name: portainer
    ports:
      - "9000:9000"
      - "9443:9443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./portainer-data:/data
    restart: unless-stopped
docker compose up -d

打开 http://NAS地址:9000,第一次进去设管理员密码(8 位以上,不然后面进不去)。

那个 docker.sock 挂载是必须的——它是 Portainer 和 Docker 之间的通道。也意味着:谁能进 Portainer,谁就等于有 root。

装完第一件事:把容器分组

默认它把所有容器平铺在一个列表里。你 NAS 上有二十个容器的时候,这个列表会很难看。

建几个"环境"或"分组":下载、媒体、网络、工具、测试。之后按组看,清楚很多。

五个我最常用的操作

看日志 点容器 → Logs。支持搜索、自动刷新、下载。比 docker logs -f 好在能停下慢慢看。

进终端 点容器 → Console → 选 /bin/bash 或 /bin/sh。等于 docker exec -it,但不用记容器名。

改环境变量重启 以前改个 env 要 down 掉再 up。Portainer 里可以直接改然后 recreate——注意:它会重新创建容器,卷挂对了数据才不会丢。

看资源占用 首页能看到每个容器的 CPU、内存实时占用。哪个容器在偷偷吃 CPU,一眼就看出来。

清理 Images 页面能看到悬空镜像和没用的旧版本,一键删。跑久了能清出几十 G。

关于 Stack(compose)

Portainer 支持直接在网页上写 compose 文件跑,叫 Stack。

我的建议:可以看,别在其中长期维护。

原因是——你在网页里改的 compose,和磁盘上的文件不是同一个东西。哪天你想把配置备份到 Git,会发现对不上。

用法建议:compose 文件仍然放在 ~/docker/xxx/docker-compose.yml,用命令行部署;Portainer 只用来看状态、看日志、临时操作。

会踩的坑

9000 打不开 第一次启动要初始化数据库,等十几秒。还不行就看 9443(HTTPS)那个端口。

密码设短了进不去 它强制 8 位以上。设短了会卡在初始化页,删掉 portainer-data 重来。

看不到容器 socket 没挂,或者挂成了 docker.sock:ro(只读模式看得到但操作不了)。

删了容器数据没了 在 Portainer 里删容器时勾了 “Remove volumes”。宿主机上的绑定目录不受影响,但命名卷会被删。看清楚再点。

和 1Panel 冲突 两个都想管 Docker,装一起会有点乱。选一个主用。

它适合谁

  • 容器多、记不住名字的;
  • 想看日志但懒得敲命令的;
  • 刚学 Docker,想通过界面理解"容器/镜像/卷"是什么的。

不适合:习惯命令行、觉得点鼠标更慢的;只有两三个容器的小机器(杀鸡用牛刀)。

最后

Portainer 不改变 Docker 的能力,它改变的是你操作它的手感。

对新手,它是最好的教学工具——你能看见容器的状态、端口、挂载,比读文档直观得多。

对老手,它是个方便的监控面板。就这样。

有问题留言。

👁 - 次浏览

留言

← 返回首页