1、zabbix组件提供了Ubuntu和Alpine Linux的基础镜像
Zabbix agent - zabbix/zabbix-agent
Zabbix server
Zabbix server(支持MySQL数据库) - zabbix/zabbix-server-mysql
Zabbix server(支持PostgreSQL数据库) - zabbix/zabbix-server-pgsql
Zabbix web接口
基于Apache2 web服务器及支持MySQL数据库的Zabbix web接口 - zabbix/zabbix-web-apache-mysql
基于Nginx web服务器及支持MySQL数据库的Zabbix web接口 - zabbix/zabbix-web-nginx-mysql
基于Nginx web服务器及支持PostgreSQL数据库的Zabbix web接口 - zabbix/zabbix-web-nginx-pgsql
Zabbix proxy
Zabbix proxy(支持SQLite3数据库) - zabbix/zabbix-proxy-sqlite3
Zabbix proxy(支持MySQL数据库) - zabbix/zabbix-proxy-mysql
Zabbix Java Gateway - zabbix/zabbix-java-gateway
2、拉取镜像
mysql:docker pull mysql
zabbix-server:docker pull zabbix/zabbix-server-mysql
zabbix-web-nginx-mysql:docker pull zabbix/zabbix-web-nginx-mysql
zabbix-agent:docker pull zabbix/zabbix-agent
3、部署服务,此处要注意顺序,mysql;zabbix-server;zabbig-web-nginx
部署mysql
docker run --name mysql-server -t -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e MYSQL_ROOT_PASSWORD="root" -p 3306:3306 -d mysql:5.7
查看mysql容器的ip
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql-server
172.18.0.2
或者docker inspect mysql-server|grep IPAddress
部署zabbix-server
docker run --name zabbix-server-mysql -t -e DB_SERVER_HOST="172.18.0.2" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e MYSQL_ROOT_PASSWORD="root" --link mysql-server:mysql -p 10051:10051 -d zabbix/zabbix-server-mysql:latest
(突然想到DB_SERVER_HOST和--link的关系,猜测同一宿主机的话二存一,不同宿主机的话需配DB_SERVER_HOST,待验证;其次Docker集群中如何配置还需要再学习)
查看zabbix-server的IP
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' zabbix-server-mysql
172.18.0.3
部署zabbix-web-nginx
docker run --name zabbix-web-nginx-mysql -e DB_SERVER_HOST="172.18.0.2" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e ZBX_SERVER_HOST="172.18.0.3" -e PHP_TZ="Asia/Shanghai" --link zabbix-server-mysql:zabbix-server --link mysql-server:mysql -p 80:80 -d zabbix/zabbix-web-nginx-mysql:latest
(DB_SERVER_HOST,ZBX_SERVER_HOST与--link关系需再学习)
4、浏览器输入宿主机,登录zabbix
期间遇到过无法链接数据库的情况,提示不能链接作为proxy的数据库
此时需要重新导入zabbix数据库文件schema.sql、images.sql、data.sql
drop database zabbix;
mysql -h172.18.0.2 -uzabbix -pzabbix zabbix < schema.sql
mysql -h172.18.0.2 -uzabbix -pzabbix zabbix < images.sql
mysql -h172.18.0.2 -uzabbix -pzabbix zabbix < data.sql
此时应该可以成功登录zabbix,部署完成