Portainer 是一个基于 Web 的用户界面,用于管理 Docker 环境。
Portainer 是免费的开源管理工具集,它使我们能够轻松构建、管理和维护 Docker 环境。
Portainer 为我们提供了 Docker 环境的详细概述,并允许我们从单个 Web 界面管理我们的容器、图像、网络、卷、注册表、服务、节点和堆栈。
之所以需要 Web UI,是因为 Docker Engine CE 提供了一个 CLI 实用程序(即 docker)来创建和管理 Docker 环境的所有组件。
这对铁杆 CLI DevOps 工程师有好处,但对 GUI 上瘾者来说却很困难。
因此,我们必须寻找像 Portainer 这样的第三方 Web UI 来帮助非 CLI 用户从 Web UI 执行相同的 Docker 任务。
在本文中,我们将配置一个 Docker Web UI,例如:Portainer on CentOS 7 based Docker Swarm。
为了实现这一点,我们使用了 Docker 技术,因为我们从 Docker Hub 下载 Portainer 镜像并运行它来管理我们的 Docker Swarm 集群。
在 CentOS 7 上为 Docker 配置 Portainer Web UI
登录到管理服务器 docker-manager-01.
列出 Docker Swarm 集群中的节点。
[root@docker-manager-01 ~]# docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION 3b9wynaya1wu910nf01m5jeeq * docker-manager-01.onitroad.com Ready Active Leader 18.09.3 ydgqdyoksx2mb0snhe1hwvco7 docker-worker-01.onitroad.com Ready Active
从 Docker Hub 的 Portainer 存储库中拉取最新的 Portainer 镜像。
[root@docker-manager-01 ~]# docker pull portainer/portainer:latest latest: Pulling from portainer/portainer d1e017099d17: Pull complete 0b1e707a06d2: Pull complete Digest: sha256:d6cc2c20c0af38d8d557ab994c419c799a10fe825e4aa57fea2e2e507a13747d Status: Downloaded newer image for portainer/portainer:latest
为 Portainer 容器数据创建一个 Docker 卷。
[root@docker-manager-01 ~]# docker volume create portainer_data portainer_data
从 Portainer 镜像创建并运行 Docker 容器。
[root@docker-manager-01 ~]# docker run -d \ > --name portainer-01 \ > --restart unless-stopped \ > -p 9000:9000 \ > -v /var/run/docker.sock:/var/run/docker.sock \ > -v portainer_data:/data \ > portainer/portainer 41feb52e01f51a6a2c65841c24d00c2ca9b456441dd78367bb9d8dda33c5d9c4
我们在 portainer1 容器中挂载了 Docker 卷 portainer_data 并发布了服务端口 9000。
通过发布服务端口 9000 ,我们已经将其与 Docker 主机的服务端口 9000 进行了映射。
因此,我们必须在 Docker 主机的防火墙中允许该服务端口。
[root@docker-manager-01 ~]# firewall-cmd --permanent --add-port=9000/tcp success [root@docker-manager-01 ~]# firewall-cmd --reload success
浏览 URL https://docker-manager-01.onitroad.com:9000/ 并创建 Portainer 的初始管理员帐户。
注意:如果我们在启动 portainer1 容器后 5 分钟内没有创建 Portainer 管理员帐户。
容器将自动停止,然后我们必须再次启动它。
输入密码,然后单击创建用户。
我们现在在连接 Docker 环境页面。
单击本地。
单击连接。
单击本地端点。
单击左侧面板中的 Swarm。
单击左侧面板中的容器。
我们可以从 Portainer Web UI 管理我们完整的 Docker 平台,包括图像、容器、服务、卷、注册表、集群、堆栈等。
配置环境
我们在 CentOS 7 上有一个 Docker Swarm 集群,由两个节点(1 个管理器和 1 个工作器)组成:
主机名: | docker-manager-01 |
IP 地址: | 192.168.1.100/24 |
操作系统: | CentOS 7.6 |
Docker 版本: | Docker CE 18.09 |