Portainer 安装详细指南(Docker管理界面)
Portainer 是一个轻量级的 Docker 管理界面,它为用户提供了直观的 Web UI 来管理 Docker 主机、容器、镜像、网络和卷等。无论是个人开发者还是企业团队,Portainer 都能显著简化 Docker 环境的管理和监控工作。
Portainer 核心优势:
可视化操作:通过直观的界面代替复杂的命令行操作
多环境管理:支持本地和远程 Docker 主机、Swarm 集群、Kubernetes
实时监控:提供资源使用情况、容器状态等实时监控
权限控制:支持多用户和基于角色的访问控制
快速部署:一键部署应用模板,简化应用部署流程
备份恢复:支持配置和数据的备份与恢复
检查 Docker 环境:
# 检查 Docker 服务状态 sudo systemctl status docker # 如果没有 Docker,先安装 # Ubuntu/Debian sudo apt-get update sudo apt-get install docker.io docker-compose -y # CentOS/RHEL sudo yum install docker -y sudo systemctl start docker sudo systemctl enable docker
Portainer 安装方法:
使用 Docker 命令直接安装,创建 Portainer 数据卷
# 创建持久化数据卷 docker volume create portainer_data
安装 Portainer Community Edition (CE)
# 1.单机 Docker 环境安装 docker run -d \ -p 8000:8000 \ -p 9000:9000 \ -p 9443:9443 \ --name portainer \ --restart=always \ -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_data:/data \ portainer/portainer-ce:latest # 2. 查看运行状态 docker ps | grep portainer # 3. 查看安装日志 docker logs portainer
需要注意防火墙开放相关端口:
# 查看防火墙状态 sudo systemctl status firewalld sudo firewall-cmd --state # 开放端口 sudo firewall-cmd --permanent --add-port=9443/tcp sudo firewall-cmd --permanent --add-port=9000/tcp sudo firewall-cmd --permanent --add-port=8000/tcp # 重新加载防火墙 sudo firewall-cmd --reload # 查看开放的端口 sudo firewall-cmd --list-ports # 查看容器端口映射详情(关键) docker inspect portainer | grep -i -A 10 "Ports"
确认宿主机的 9443/9000/8000 端口是否被docker-proxy监听,输出类似如下这种示例。
tcp LISTEN 0 4096 0.0.0.0:9443 0.0.0.0:* users:(("docker-proxy",pid=1234,fd=4))
tcp LISTEN 0 4096 0.0.0.0:9000 0.0.0.0:* users:(("docker-proxy",pid=5678,fd=4))
tcp LISTEN 0 4096 0.0.0.0:8000 0.0.0.0:* users:(("docker-proxy",pid=9101,fd=4))测试端口连通性:服务器本地测试(确认 Portainer 服务正常)
若返回<html>...</html>等 Portainer 页面内容,说明服务本身正常;若返回「连接拒绝」,说明容器未正常启动或端口映射错误。
这里以阿里云服务器配置为例:配置服务器的入方向规则。
登录阿里云控制台核对安全组规则
1、进入「ECS 实例列表」→ 找到你的实例(47.116.107.83)→ 点击「安全组」列的安全组名称;
2、进入安全组页面后,切换到「入方向规则」标签(重点:必须是入方向,出方向不影响外网访问);
3、检查规则是否满足以下所有条件:
1、访问 Portainer Web 界面
地址: https://你的服务器IP:9443
注意: 首次访问会显示安全警告(自签名证书),可放心继续
2、创建管理员账户
第一次访问时,需要设置管理员用户名和密码:
用户名:admin(或其他)
密码:设置强密码(至少12位,包含大小写字母、数字、符号)
3、选择环境类型
选择连接环境:
Docker Standalone:单机 Docker 环境
高级配置选项
启用 HTTPS(使用自定义证书)
# 准备 SSL 证书 mkdir -p /path/to/certs # 将证书文件放入目录(portainer.crt, portainer.key, portainer.pem) # 启动 Portainer 并挂载证书 docker run -d \ -p 9443:9443 \ --name portainer \ -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_data:/data \ -v /path/to/certs:/certs \ -e SSL_CERT_FILE="/certs/portainer.crt" \ -e SSL_KEY_FILE="/certs/portainer.key" \ portainer/portainer-ce:latest
配置环境
# 常用环境变量 docker run -d \ # ... 其他参数 -e PORTAINER_EDITION=ce \ # ce 或 be -e PORTAINER_TZ=Asia/Shanghai \ # 时区 -e PORTAINER_AUTO_UPDATE_ENABLED=true \ # 自动更新 -e PORTAINER_ADMIN_PASSWORD_HASH='$2y$05$...' \ # 密码哈希 -e PORTAINER_TELEMETRY=false \ # 禁用遥测 portainer/portainer-ce:latest
1.管理容器
Dashboard: 查看所有容器状态
Containers: 创建、启动、停止、删除容器
Images: 管理 Docker 镜像
Volumes: 管理数据卷
Networks: 管理网络
2. 创建容器
点击 "Containers" → "Add container"
填写容器名称
选择镜像或从注册表拉取
配置端口映射、环境变量、数据卷等
点击 "Deploy the container"
3. 堆栈部署(Docker Compose)
点击 "Stacks" → "Add stack"
输入堆栈名称
粘贴或上传 docker-compose.yml 文件
点击 "Deploy the stack"
4. 用户和团队管理
Users: 添加和管理用户
Teams: 创建团队并分配权限
Roles: 自定义权限角色
Endpoint Access: 设置环境访问权限
安全配置建议
1.启用 TLS 通信
# 生成自签名证书(测试用) openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes # 生产环境建议使用 Let's Encrypt 或购买 SSL 证书
2.配置防火墙规则
# 只允许特定 IP 访问 sudo ufw allow from 192.168.1.0/24 to any port 9443 sudo ufw deny 9443 # 或使用云服务商的安全组配置
定期备份 Portainer 数据
# 备份数据卷 docker run --rm -v portainer_data:/data -v $(pwd):/backup alpine \ tar czf /backup/portainer_backup_$(date +%Y%m%d).tar.gz -C /data . # 恢复备份 docker run --rm -v portainer_data:/data -v $(pwd):/backup alpine \ sh -c "cd /data && tar xzf /backup/portainer_backup.tar.gz"
常见问题及解决方案:
Web 界面无法访问
# 检查防火墙 sudo ufw status sudo ufw allow 9443/tcp # 检查容器运行状态 docker ps | grep portainer # 检查端口绑定 docker port portainer
注:这个是全英文界面,后续有可能会适配其他语言,如果介意英文界面的,等下期更新一个支持中文的docker管理界面。