组件

docker中部署zabbix 可根据需要自行修改组件及版本

#第三版将link方式修改为通过容器内网络固定ip通信
#不使用固定ip会导致容器重启后ip漂移,网页报错“系统信息web connection”

#!/bin/bash
#容器构建
#创建专用于Zabbix组件容器的网络:
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1  zabbix-net

#启动空的MySQL服务器实例
docker run --name mysql-server -t \
--network zabbix-net \
--ip "192.168.0.2" \
--restart unless-stopped \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix123" \
-e MYSQL_ROOT_PASSWORD="zabbix123" \
-d mysql:8.0 \
--character-set-server=utf8 --collation-server=utf8_bin \
--default-authentication-plugin=mysql_native_password


#启动 Zabbix Java 网关实例
docker run --name zabbix-java-gateway -t \
--network zabbix-net \
--ip "192.168.0.3" \
--restart unless-stopped \
-p 10052:10052 \
-d zabbix/zabbix-java-gateway:latest


#启动 Zabbix 服务器实例,通过加入网络以实现互相通信
docker run --name zabbix-server-mysql -t \
--network zabbix-net \
--ip "192.168.0.4" \
--restart unless-stopped \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix123" \
-e MYSQL_ROOT_PASSWORD="zabbix123" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:latest
#要使用其他版本则在此修改镜像tag


#启动 Zabbix Web 界面,将实例与创建的网络相连接
docker run --name zabbix-web-nginx-mysql -t \
--network zabbix-net \
--ip "192.168.0.5" \
--restart unless-stopped \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix123" \
-e MYSQL_ROOT_PASSWORD="zabbix123" \
-e ZBX_SERVER_HOST="192.168.0.4" \
-e ZBX_SERVER_PORT="10051" \
-p 8080:8080 \
-d zabbix/zabbix-web-nginx-mysql:latest

端口

部署完成后需在防火墙和安全组中放行8080/10051/10052端口/TCP
如需安装zabbix agent在服务端还需要开放10050端口
关闭SELINUX

使用IP:8080访问web页面

默认账号密码:
Admin
zabbix