Portainer 可视化容器管理界面

Portainer 是一款开源的容器管理工具,提供直观的 Web 界面来管理 Docker、Docker Swarm 和 Kubernetes 环境。对于不习惯命令行操作的用户,Portainer 让容器管理变得简单高效。本文将介绍如何在搬瓦工 VPS 上部署 Portainer 并使用它管理容器。

一、环境要求

  • Docker:需要先安装 Docker
  • 内存:Portainer 仅需约 128MB 额外内存。
  • 端口:默认使用 9443(HTTPS)和 9000(HTTP)。

二、安装 Portainer CE

2.1 创建数据卷

docker volume create portainer_data

2.2 启动 Portainer

docker run -d \
  --name portainer \
  --restart=always \
  -p 8000:8000 \
  -p 9443:9443 \
  -p 9000:9000 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:latest

2.3 访问管理界面

在浏览器中访问 https://你的IP:9443http://你的IP:9000。首次访问需要设置管理员账号和密码(密码至少 12 个字符)。

三、使用 Docker Compose 部署

version: '3.8'

services:
  portainer:
    image: portainer/portainer-ce:latest
    container_name: portainer
    restart: always
    ports:
      - "8000:8000"
      - "9443:9443"
      - "9000:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data

volumes:
  portainer_data:
docker compose up -d

四、在 Docker Swarm 中部署

如果你已经搭建了 Docker Swarm 集群:

docker stack deploy -c portainer-stack.yml portainer

portainer-stack.yml 内容:

version: '3.8'

services:
  agent:
    image: portainer/agent:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /var/lib/docker/volumes:/var/lib/docker/volumes
    networks:
      - agent_network
    deploy:
      mode: global
      placement:
        constraints:
          - node.platform.os == linux

  portainer:
    image: portainer/portainer-ce:latest
    command: -H tcp://tasks.agent:9001 --tlsskipverify
    ports:
      - "9443:9443"
      - "9000:9000"
    volumes:
      - portainer_data:/data
    networks:
      - agent_network
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints:
          - node.role == manager

networks:
  agent_network:
    driver: overlay
    attachable: true

volumes:
  portainer_data:

五、功能概览

5.1 Dashboard

登录后可以看到环境概览,包括:

  • 运行中的容器数量。
  • 镜像、卷、网络的统计信息。
  • 资源使用情况。

5.2 容器管理

通过 Web 界面可以:

  • 创建、启动、停止、删除容器。
  • 查看容器日志和统计信息。
  • 进入容器终端(类似 docker exec)。
  • 管理容器的环境变量、端口映射和卷挂载。

5.3 应用模板

Portainer 内置了大量应用模板,点击即可一键部署常用应用,如 WordPress、MySQL、Redis、Nginx 等。

5.4 Stack 管理

支持通过 Web 编辑器编写 Docker Compose 文件并部署 Stack,非常方便管理多容器应用。

六、添加远程环境

Portainer 支持管理多个 Docker 环境:

6.1 通过 Agent 添加

在远程节点上部署 Portainer Agent:

docker run -d \
  --name portainer_agent \
  --restart=always \
  -p 9001:9001 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /var/lib/docker/volumes:/var/lib/docker/volumes \
  portainer/agent:latest

在 Portainer 界面中添加环境,选择"Agent"类型,输入远程节点的 IP 和 9001 端口。

6.2 通过 Docker API 添加

在远程节点上开启 Docker API(需注意安全性):

cat > /etc/docker/daemon.json <<EOF
{
  "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
}
EOF
systemctl restart docker

七、配置反向代理

建议通过 Nginx 反向代理并启用 HTTPS:

server {
    listen 80;
    server_name portainer.yourdomain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name portainer.yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/portainer.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/portainer.yourdomain.com/privkey.pem;

    location / {
        proxy_pass https://127.0.0.1:9443;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

八、用户与团队管理

Portainer 支持多用户管理:

  • 创建用户:在 Settings → Users 中添加用户。
  • 创建团队:将用户分组为团队,统一管理权限。
  • Access Control:为不同用户/团队分配不同环境的访问权限。
  • LDAP 集成:支持与企业 LDAP/AD 集成实现统一认证。

九、常见问题

无法连接到 Docker

确保 Docker socket 已正确挂载:

ls -la /var/run/docker.sock
docker logs portainer

忘记管理员密码

需要重置 Portainer 数据卷:

docker stop portainer
docker rm portainer
docker volume rm portainer_data

然后重新创建数据卷和容器。

Portainer CE 与 BE 的区别

CE(Community Edition)为免费开源版,功能足够个人和小团队使用。BE(Business Edition)提供额外的企业功能如 RBAC、活动日志、Registry 管理等。

总结

Portainer 为 Docker 容器管理提供了直观易用的图形界面,大幅降低了容器管理的门槛。搭配 DockerDocker Swarm 使用效果最佳。选购搬瓦工 VPS 请参考 全部方案,使用优惠码 NODESEEK2026 享受 6.77% 折扣。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。