早在zabbix3.4版本左右,其已经支持了容器的方式安装。具体可以查看当时的文档说明: ,在后来新的版本里zabbix更是直接在其主页页面里把容器方式安装和云安装放在同样常见的安装方式,具体为:https://www.zabbix.com/container_images ,当前最新的zabbix版本已经更新到了5.4版本,由于内部环境的原因,也尝试使用容器抆式安装下zabbix的最新版本。

当然我们可以按照最新的文档示例: ,通过先创建一个专用网络,然后启动mysql-server、java gateway、zabbix-server、zabbix-web-nginx-mysql几个容器方式进行安装:

1# docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net

后面几个容器启动的方式这里就不再列了。官方给的示例还是比较全面的,除了docker方式安装,把podman下的安装方式也进行了提供。这里把最后最简单的安装方式给下,通过docker-compose的方式列下,使用docker-compose需要注意需要将版本升级到最新版本,老的版本使用时,会提示某些版本不支持。

最新版本的docker-compose可以去 https://github.com/docker/compose/releases/ 下载,下载完成后,到github上找到zabbix-docker项目: https://github.com/zabbix/zabbix-docker ,通过git指令下载最新版本。

1# git clone https://github.com/zabbix/zabbix-docker
2# cd zabbix-docker
3选取其中现要安装的版本或组件,可以根据自己的需要进行组件的删减和参数调整。我这里选用的是docker-compose_v3_alpine_mysql_latest.yaml
4# docker-compose -f docker-compose_v3_alpine_mysql_latest.yaml up -d

以上简单的步骤就可以完成了该版本的安装。对应的数据文件都会在该目录下的zbx_env目录进行存放,当然不想放在该目录,也可以在yaml文件中进行修改。

数据库连接测试如下:

 1[root@ipa zbx_env]# docker exec -it cb65e96c9b4a /bin/bash
 2root@cb65e96c9b4a:/#
 3root@cb65e96c9b4a:/# mysql -uzabbix -p
 4Enter password:
 5Welcome to the MySQL monitor.  Commands end with ; or \g.
 6Your MySQL connection id is 296
 7Server version: 8.0.25 MySQL Community Server - GPL
 8Copyright (c) 2000, 2021, Oracle and/or its affiliates.
 9Oracle is a registered trademark of Oracle Corporation and/or its
10affiliates. Other names may be trademarks of their respective
11owners.
12Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
13mysql> show databases;
14+--------------------+
15| Database           |
16+--------------------+
17| information_schema |
18| zabbix             |
19+--------------------+
202 rows in set (0.01 sec)
21mysql> use zabbix
22Reading table information for completion of table and column names
23You can turn off this feature to get a quicker startup with -A
24Database changed
25mysql> show tables;
26+----------------------------+
27| Tables_in_zabbix           |
28+----------------------------+
29| acknowledges               |
30| actions                    |
31| alerts                     |
32| auditlog                   |
33| auditlog_details           |
34……………………

web界面登陆测试如下:

zabbix-docker
zabbix-docker

最后:从docker hub拉取镜像的过程可能会比较慢,国内有阿里云主机的小伙伴,可以打开https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 页面通过镜像加速的方式配置本地镜像源,这样下载速度会快不少。