Portainer 是一款开源的轻量级容器管理图形化工具(UI)。它有效地屏蔽了复杂的命令行操作,让开发者通过直观的 Web 界面就能轻松构建、管理和维护 Docker 环境(同时也支持 Docker Swarm、Kubernetes 和 Azure ACI)。
核心功能与优势:
- 可视化容器管理:轻松完成容器、镜像、网络和数据卷的创建、启动、停止、删除及状态监控。
- 日志与控制台:直接在 Web 界面实时查看容器日志,或打开 Web 终端进入容器内部执行命令。
- 应用模板快速部署:内置大量的应用模板(如 MySQL、Nginx、WordPress 等),可以通过向导式界面一键部署应用容器。
- Docker Compose 支持:提供 Stack 管理功能,可以直接在界面编写或上传
docker-compose.yml文件来部署复杂的多容器应用。 - 用户与权限管理:支持多用户和基于角色的访问控制(RBAC),非常适合团队协作和权限隔离。
- 资源监控:实时展示宿主机及容器的 CPU、内存使用率和网络吞吐量。
应用场景:
它非常适合不熟悉 Docker CLI 的新手入门,同时也为运维人员提供了集中管理多个独立的 Docker 宿主机或小型集群的便利,可以极大提升容器管理的效率。

以下是部署 Portainer CE(社区版)的详细步骤和命令。
在开始前,有两点需要特别注意:
- 安全风险:部署命令需要挂载宿主机的
/var/run/docker.sock。这相当于赋予了 Portainer 容器控制宿主机 Docker 守护进程的最高权限。请务必为 Portainer 设置强密码,并且不要将其 Web 界面直接暴露在公网(建议仅在内网访问或通过 VPN 访问)。 - 端口冲突:默认会使用宿主机的
8000和9443端口。如果这些端口已被其他服务占用,请在执行命令前修改映射的端口号。
1. 创建专用数据卷
为了防止容器更新或重建后丢失配置和管理员密码,我们需要先创建一个持久化存储卷。
docker volume create portainer_data
2. 运行 Portainer 容器
这是核心部署命令。
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
命令参数详解:
-d:以分离(后台)模式运行容器。-p 8000:8000:将容器的8000端口映射到宿主机,用于 Portainer Edge Agent 的 TCP 隧道通信(如果仅单机使用,不连接边缘节点,可省略此行)。-p 9443:9443:(关键) 将容器的9443端口映射到宿主机,用于 HTTPS 安全 Web 管理界面访问。--name portainer:将容器命名为portainer。--restart=always:确保在 Docker 服务启动或服务器重启后,该容器自动重启。-v /var/run/docker.sock:/var/run/docker.sock:(核心参数) 挂载 Docker socket,使 Portainer 能够与当前宿主机的 Docker 引擎通信并进行管理。这正是实现云原生环境可视化的关键。-v portainer_data:/data:将之前创建的数据卷挂载到容器内的/data目录,用于保存所有持久化数据。
- 容器成功运行后,在浏览器(建议使用 Chrome 或 Edge)中访问: 注意:由于默认使用的是自签名证书,浏览器会提示“您的连接不是私密连接”,请选择“高级”并点击“继续前往”即可。
https:// <您的服务器ip> :9443 您的服务器ip> - 首次访问会出现初始化界面,要求您创建管理员用户名和密码(密码至少需要 12 位)。
注意:初始设置页面有 5 分钟的超时限制。如果超时未设置,Portainer 会出于安全原因自动停止容器。若发生此情况,您需要执行docker restart portainer重新启动后再试。 - 设置完密码后,选择左侧的 “Get Started”,系统会默认将当前宿主机添加为 “local” 环境进行管理。

如果您不再需要 Portainer,可以通过以下命令彻底清除(此操作将删除容器和所有配置数据,请确认后执行):
# 停止并删除 Portainer 容器 docker stop portainer docker rm portainer
删除持久化数据卷(将清除所有 Portainer 的配置和自定义设置)
docker volume rm portainer_data
如果您在部署过程中遇到端口冲突或容器启动异常,可以执行 docker logs portainer 命令查看详细的日志来排查问题。

通过以上步骤,你就可以在 Docker 环境中快速搭建起一个功能完善的图形化管理界面,告别繁琐的命令行,更直观地掌控你的容器世界。如果在实践过程中遇到任何问题,欢迎到 云栈社区 的技术文档板块与更多开发者交流探讨。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/260126.html