Docker Swarm 是一种 Docker 容器的编排工具,它可以将多个 Docker 主机组成一个集群。但是,Docker Swarm 的管理操作比较麻烦,为了方便管理和让用户更加友好地使用 Docker Swarm,我们可以使用 Portainer 这个集群管理工具。
Portainer 是什么?
Portainer 是一种多容器和 Docker Swarm 集群管理工具,提供了可视化界面方便进行 Docker 管理操作。它不仅可以管理单台 Docker 主机上的容器,还可以管理 Docker Swarm 集群上的容器服务,支持容器镜像的上传、下载、删除操作,以及对服务、可视化最好的 Docker 网络和卷的操作功能。
Portainer 安装
Portainer 可以安装在 Docker 主机上。我们可以通过 Docker Compose 快速地安装 Portainer。
-- -------------------- ---- ------- -------- --- --------- ---------- ------ ------------------- -------- -- ---------------------- --------------- ------ - --------- -------- - ----------------------------------------- - -------------------- -------- ---------------
这个 docker-compose.yml
文件创建了一个名为 portainer
的服务,并指定了挂载卷和端口等。使用 docker-compose up -d
命令可以在当前目录下执行该文件。
Portainer 连接 Docker Swarm
Portainer 提供了一个管理 Docker Swarm 集群的简单方法。在 Web 界面上,单击左侧菜单上的“节点”,然后单击“添加节点”按钮。在弹出的对话框中输入必要的信息,包括 Docker 主机的 IP 地址、端口和访问密钥等。
在 Portainer 中管理 Docker Swarm 集群,需要授权 Portainer 添加 Docker 主机到 Swarm 集群上。我们可以通过以下命令在 Swarm 集群中创建一个授权令牌:
docker swarm join-token manager
将该命令的输出复制到一个文本文件中并将其命名为 token.txt
。我们可以使用以下命令在 Docker Swarm 集群中添加一个授权节点:
docker swarm join --token <TOKEN> <MANAGER-IP>:2377
然后,使用以下命令在 Portainer 中添加 Docker Swarm 集群:
-- -------------------- ---- ------- ------ --- -- - ------ --------------------- - --------- ------ - -- ----------------------------------------- - -- -------------------- - -- ---------------------------------------- - -- ------------------------------------- - -- ------------------------------------- - --------- ----------------------- - ----------------------
请注意,此命令会使用凭据、端口和网络等来调整配置。务必按照您的环境进行修改。
Portainer 的使用
Portainer 提供了 Web 界面来管理 Docker Swarm 集群中的容器。您可以单击左侧菜单上的“容器”来查看和管理容器。在“容器”页面上,您可以创建、运行、停止和删除容器。您还可以查看和管理容器日志和统计信息。
Portainer 还提供了一个强大的搜索引擎来帮助您查找和过滤容器,可以按名称、标签、状态等属性进行搜索。
Portainer 还提供了一个监视器,可以实时监视容器资源使用情况,并以图形化方式显示容器的 CPU、内存和磁盘使用情况。
结论
Docker Swarm 是一种强大的容器编排工具,可以帮助我们管理和扩展 Docker 容器。但是,对于一些普通用户来说,它的学习曲线可能比较陡峭。Portainer 是一个可以帮助简化 Docker Swarm 集群管理的工具,提供了友好的图形化界面和丰富的功能。如果您正在使用 Docker Swarm,那么 Portainer 是必须学习的工具之一。
示例代码请参见:https://github.com/portainer/portainer
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6730e6e2eedcc8a97c934280