玩Docker有段时间了,最近需要多个地方快速部署zabbix监控,所以使用docker可以快速部署,省去繁琐的安装过程。

组成:
mysql //可以使用现成的mysql或者自行docker搭建
zabbix-server-mysql //zabbix-server后台程序
zabbix-web-nginx-mysql //zabbix-server前台web程序,包含php
zabbix-agent //zabbix客户端

#安装mysql
……省略……

#安装zabbix-server-mysql后台程序
docker run --name zabbix-server -p 10051:10051 --network test_test --network-alias zabbix-server -e DB_SERVER_HOST="mysql" -e DB_SERVER_PORT=3306 -e MYSQL_USER="root" -e MYSQL_PASSWORD="123456" -d zabbix/zabbix-server-mysql
说明:

  • --network 指定网络
  • --network-alias 指定网络别名,方便前端web调用
  • DB_SERVER_HOST 指定mysql服务器地址

#安装zabbix-web-nginx-mysql前端程序
docker run --name zabbix-web -p 8000:80 --network test_test -e DB_SERVER_HOST="mysql" -e DB_SERVER_PORT=3306 -e MYSQL_USER="root" -e MYSQL_PASSWORD="123456" -e ZBX_SERVER_HOST="zabbix-server" -e PHP_TZ="Asia/Shanghai" -d zabbix/zabbix-web-nginx-mysql
说明:

  • docker-hub容器的坑,运行此命令后,需要修改配置文件/etc/nginx/nginx.conf,修改后: include /etc/nginx/conf.d/nginx.conf; 并重启该容器。

#安装zabbix-agent,实际上不用docker安装
docker run --name zabbix-agent -p 10050:10050 --network test_test --network-alias zabbix-agent -e ZBX_HOSTNAME="zabbix-server" -e ZBX_SERVER_HOST="zabbix-sever" -e ZBX_SERVER_PORT=10051 -d zabbix/zabbix-agent