一个轻量级的 Docker 管理面板。
支持用户分组和权限控制。
你可以给他一个账号,他只能管理自己分配的容器。
🚀 Portainer 部署步骤
1. 环境准备
- 确保服务器已安装 Docker 和 Docker Compose。bash
docker -v docker compose version
2. 创建 Compose 文件
在服务器上新建 portainer.yml:
yaml
version: "3"
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: always
ports:
- "9000:9000" # Web 管理界面
- "9443:9443" # HTTPS 管理界面(可选)
volumes:
- /var/run/docker.sock:/var/run/docker.sock # 让 Portainer 管理宿主机 Docker
- portainer_data:/data # 持久化数据
volumes:
portainer_data:
3. 启动服务
bash
docker compose -f portainer.yml up -d
4. 初始化 Portainer
- 打开浏览器访问:
http://服务器IP:9000 - 第一次登录会要求设置 管理员账号和密码。
- 选择 Local 环境,即管理本机 Docker。
👥 给第三人使用的方式
- 在 Portainer 的 Users 菜单里创建新用户。
- 可以分配不同的 Team / Role:
- Administrator:完全权限。
- Standard User:只能管理自己创建的容器。
- 这样第三人就能通过 Web 界面自由创建和管理自己的 Docker,不会影响你的容器。
⚠️ 注意事项
- 安全性:不要直接把服务器 root 权限给别人,Portainer 的用户管理更安全。
- 端口冲突:确保 9000/9443 没被其他服务占用。
- 数据持久化:挂载
/data卷,避免重启后配置丢失。
🚀 Portainer Team 权限方案
1. 创建用户
- 登录 Portainer Web 界面(默认
http://服务器IP:9000)。 - 在左侧菜单选择 Users → 点击 Add User。
- 设置用户名、密码,角色选择 Standard User(普通用户)。
2. 创建 Team
- 在左侧菜单选择 Teams → 点击 Add Team。
- 给 Team 起一个名字,比如
Team-A。 - 把刚创建的用户加入这个 Team。
3. 创建 Endpoint Group
- 在左侧菜单选择 Endpoints → 点击 Groups。
- 新建一个 Endpoint Group,比如
Group-A。 - 把本地 Docker 环境(Local)分配到这个 Group。
4. 分配权限
- 在 Access Control 里设置:
- Administrator:你自己,拥有全部权限。
- Standard User:只能管理自己 Team 下的容器。
- 给
Team-A分配Group-A的访问权限。
5. 使用效果
- 你作为管理员,可以看到所有容器、镜像、网络。
- 第三人登录后,只能在自己的 Team 下创建和管理容器,不会影响你的容器。
- 他可以:
- 创建容器(
docker run等操作通过 Web 界面完成)。 - 管理自己容器的启动、停止、删除。
- 查看日志、进入控制台。
- 创建容器(
⚠️ 注意事项
- 资源隔离:Portainer 的 Team 隔离是逻辑上的,不是硬件级别。如果第三人创建容器占满 CPU/内存,还是会影响整台服务器。
- 安全性:不要给他
Administrator权限,否则他能看到和操作你的容器。 - 网络冲突:不同 Team 的容器仍然共享宿主机网络,端口冲突需要你提前规划。