以热爱记生活

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 界面

2、创建管理员账户
第一次访问时,需要设置管理员用户名和密码:

3、选择环境类型
选择连接环境:

高级配置选项
启用 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.管理容器

2. 创建容器

3. 堆栈部署(Docker Compose)

4. 用户和团队管理


安全配置建议
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管理界面。

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »

因本文不是用Markdown格式的编辑器书写的,转换的页面可能不符合AMP标准。