Skip to main content

Portainer 安装部署指南

Portainer 是一个轻量级的 Docker 管理 UI,可以让你通过 Web 界面轻松管理 Docker 主机或 Swarm 集群。以下是详细的安装部署方法。

1. 快速安装 (单机版)

使用 Docker 运行 Portainer CE (社区版)

# 创建数据卷用于持久化存储
docker volume create portainer_data

# 运行 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

2. 生产环境推荐安装

使用 Docker Compose 部署

创建 docker-compose.yml 文件:

version: '3.8'

services:
  portainer:
    image: portainer/portainer-ce:latest
    container_name: portainer
    restart: always
    ports:
      - "8000:8000"   # 用于Edge代理通信
      - "9443:9443"   # Web UI HTTPS端口
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data
    environment:
      - TZ=Asia/Shanghai  # 设置时区
    networks:
      - portainer_net

volumes:
  portainer_data:

networks:
  portainer_net:
    driver: bridge

启动服务:

docker-compose up -d

3. 访问 Portainer

  1. 打开浏览器访问: https://你的服务器IP:9443
  2. 首次访问需要设置管理员密码
  3. 选择连接本地 Docker 环境

4. 高级配置

使用 HTTPS (推荐)

# 准备SSL证书
mkdir -p /path/to/certs
# 将你的证书文件放入此目录:
# - portainer.crt
# - portainer.key

# 运行带有HTTPS的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 \
  -v /path/to/certs:/certs \
  portainer/portainer-ce:latest \
  --sslcert /certs/portainer.crt \
  --sslkey /certs/portainer.key

连接远程 Docker 主机

在 Portainer UI 中:

  1. 点击 "Environments"
  2. 点击 "Add environment"
  3. 选择 "Docker"
  4. 填写远程 Docker 主机的详细信息

5. 安全建议

  1. 更改默认端口:避免使用 9000 端口,改用 9443 (HTTPS)
  2. 启用 HTTPS:始终使用 SSL/TLS 加密
  3. 设置强密码:管理员账户使用复杂密码
  4. 限制访问IP:通过防火墙限制访问来源
  5. 定期备份:备份 portainer_data 卷

6. 维护与升级

备份 Portainer 数据

docker run --rm \
  -v portainer_data:/backup-volume \
  -v $(pwd):/backup \
  alpine tar cvf /backup/portainer-backup.tar /backup-volume

恢复 Portainer 数据

docker run --rm \
  -v portainer_data:/restore-volume \
  -v $(pwd):/backup \
  alpine tar xvf /backup/portainer-backup.tar -C /restore-volume --strip 1

升级 Portainer

# 停止并删除旧容器
docker stop portainer
docker rm portainer

# 拉取最新镜像
docker pull portainer/portainer-ce:latest

# 使用原有数据卷重新启动
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

7. 常见问题解决

无法连接 Docker 守护进程

确保 /var/run/docker.sock 挂载正确:

ls -l /var/run/docker.sock

忘记管理员密码

  1. 停止 Portainer 容器
  2. 删除 /data 卷中的 portainer.db 文件
  3. 重新启动 Portainer

性能问题

对于大型 Docker 环境:

docker update \
  --memory 1g \
  --memory-swap 2g \
  --cpus 1 \
  portainer

Portainer 提供了直观的 Docker 管理界面,特别适合不熟悉命令行的用户或需要可视化管理的场景。按照以上步骤安装后,你就可以通过 Web 界面轻松管理你的 Docker 环境了。