该示例示范了如何运行 MySQL 数据库支持、基于 Nginx Web 服务器的 Zabbix Web 界面和 Zabbix Java gateway。
1、启动mysql服务器容器
docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-d mysql:5.7 \
--character-set-server=utf8 --collation-server=utf8_bin【指定字符集】
参数详解:
-t 【新容器内指定一个伪终端或终端】
-e 【设置环境变量,这种方式的设置是暂时的,当删了下次run还 得加-e进行设置,所以用一般用dockerfile制作封装好】
2、启动 Zabbix Java gateway 实例
docker run --name zabbix-java-gateway -t -d zabbix/zabbix-java-gateway:latest
3、启动 Zabbix server 实例,并将其关联到已创建的 MySQL server 实例
docker run --name zabbix-server-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--link mysql-server:mysql \
--link zabbix-java-gateway:zabbix-java-gateway \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:latest
4、启动 Zabbix Web 界面,并将其关联到已创建的 MySQL server 和 Zabbix server
docker run --name zabbix-web-nginx-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-p 80:80 \
-d zabbix/zabbix-web-nginx-mysql:latest
5、查看容器运行状态
6、访问测试
访问宿主机的IP地址80端口即可
7、注意
可以拿它来体验,不建议在生产中使用容器来部署监控类业务,安装虽然方便但是后续维护很困难,涉及到微信报警、邮件报警的时候,因为容器一般都是让其镜像尽可能的小所以会精简的很厉害,导致很多功能它都没有,因为都阉割掉了,而且阉割的很厉害,最后很多的功能都缺失了。所以可以用它来体验最新版的zabbix就可以了。