背景
上一期,我们介绍了服务器web管理工具 - cockpit,它不但可以管理物理服务器,还可通过插件管理虚拟机。但是它也有一个致命的缺陷,那就是缺少Docker
管理工具(旧版的cockpit-docer
已经不再兼容新版的cockpit
)。
这一期,我们介绍一个web端的Docker
管理工具 - Portainer。
介绍
之前在某处看到Portainer
是Docker
官方出品的,没有去考证。不管怎么样,Portainer
作为一个Docker
管理工具,其不仅具有界面美观、易用等特点,而且相关功能齐全,能够满足个人与企业不同的需求。
其主要功能包含:
- 从镜像拉取到容器创建、运行等一系列操作;
- 容器控制台,提供容器管理、监控等操作;
- 定制模板与快速部署;
- 事件日志;
- 登陆用户管理;
- 集中/集群管理;
- ……
安装
Portainer
分为CE
和BE
两个版本,前者为社区免费版本。但作为个人使用,CE
社区版本已经足够了。如果是企业,可以选择BE
版本,毕竟人家也要挣钱的嘛。
首先,我们要选择一台主机作为中心节点安装Portainer
。既然是Docker
管理工具,首先是用Docker
把自己管理起来:
|
|
现在我们就可以通过<your ip>:9000
访问Portainer
了。另忘了设置端口规则,放行9000
端口。
Nginx反向代理
作为一个web端管理工具,这一步好像是不能少的。如果你像我这样拥有公网ip,你还能够随时随地的访问和管理你的Docker
容器。
|
|
从现在起,我们就可以通过域名访问Portainer
。
集中管理
如果你有多台机器运行Docker
,以往的经验是在各个机器上对Docker
及其容器进行操作。但是有了Portainer
之后,我们只需要在一个web页面里就可以实现对运行在不同主机上的Docker
进行管理,这一点很像cockpit
。
Portainer
将各主机上的Docker
称为环境(Environment),我们可添加新的环境到中心节点上,以实现统一管理。当然这还需要事先安装一个称之为Agent
的容器。在安装配置方面,Portainer
做的还是非常到位的,直接就在web 页面上提供了Agent
类型选择与安装说明。
当然由于我们很可能是在受限的环境运行Docker,比如群晖 NAS,这样一来使用compose.yaml
来安装Agent
就更合适了:
|
|
至此,我们的Portainer
就安装完成了,最终的效果就是这样子的:
是不是很方便、很直观?
结束语
Portainer
作为Docker
的web管理工具,是非常合格的,不但界面美观,操作也很方便、直观。但是其也有一些缺点这里需要特别提及:
- 没有多国语言支持。对于使用
Docker
的人来说,这虽然不是什么大问题,但是,多数人对母语的反应速度肯定是要快一些嘛; - 在创建容器方面,
Portainer
非常繁琐与复杂,还不如直接使用命令行。好在上一期我们介绍了cockpit
,就用它吧。