Portainer基于 Web的Docker开源管理平台

Portainer 是一个轻量级、开源的 Docker 可视化管理工具,通过调用 Docker API,为用户提供 Web 管理界面,可用于集中管理多个 Docker 主机与容器环境,适合测试环境与生产环境的日常运维管理。

主要功能

  • 容器管理(创建、启动、停止、删除、日志查看)
  • 镜像管理(拉取、删除、构建)
  • 网络管理(Docker network 管理)
  • 数据卷管理(volume 管理)
  • 多主机环境统一管理
  • 支持 Swarm / Kubernetes(高级版本)

项目地址

汉化项目(第三方)


1.Portainer 部署方式

1.1标准部署(官方镜像)

1
2
3
4
5
6
7
8
docker run -d \
-p 8000:8000 \
-p 9000:9000 \
--name=portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /data/portainer:/data \
portainer/portainer

访问:

http://服务器IP:9000

首次访问需要创建管理员账号。


1.2汉化版本部署(第三方镜像)

1
2
3
4
5
6
7
8
9
docker run -d \
-p 8000:8000 \
-p 9000:9000 \
--name=portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /portainer:/data \
-v /opt/public:/public \
portainer/portainer

1.3Docker 开启远程 API(多主机管理)

如果需要管理远程 Docker 主机,需要开启 Docker API:

1
/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375

生产环境建议:

  • 不要直接开放 2375
  • 使用 TLS 加密(2376)
  • 或仅在内网访问
  • 或通过 SSH tunnel 转发

2.多Docker主机统一管理架构

下面是常见的 Portainer 管理多节点结构:

flowchart LR
    Admin[管理员浏览器]
    Portainer[Portainer Server]
    Host1[Docker Host A]
    Host2[Docker Host B]
    Host3[Docker Host C]

    Admin --> Portainer
    Portainer -->|Docker API| Host1
    Portainer -->|Docker API| Host2
    Portainer -->|Docker API| Host3

Portainer 通过 Docker API 管理多个节点,实现:

  • 统一容器管理
  • 多节点部署应用
  • 集中日志与资源查看

2.1添加远程主机示例

假设远程 Docker 主机:

172.31.6.103

已开放 Docker API,可添加:

tcp://172.31.6.103:2375

测试镜像运行:

1
docker run 172.31.6.103/linux39/nginx:1.16.1-alpine