本次使用docker搭建zabbix的组合是mysql+docker+zabix-server,使用zabbix容器连接mysql容器,mysql容器的数据库文件保存在物理主机/opt/mysql_db/mysql/datadir目录下。
测试环境
、操作系统版本为:centos7.
、docker版本为:1.13.
、mysql数据库为:5.7
1 安装docker
yum install docker -y
systemctl start docker
systemctl enable docker
2 修改默认docker镜像地址
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://3pm9ld7m.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
3 先安装数据库mysql
docker run --name zabbix-mysql-server --hostname zabbix-mysql-server \
-v /opt/mysql_db/mysql/conf:/etc/mysql/conf.d -v /opt/mysql_db/mysql/datadir:/var/lib/mysql --privileged=true \
-e MYSQL_ROOT_PASSWORD="" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="" \
-e MYSQL_DATABASE="zabbix" \
-p : \
-d mysql:5.7 \
--character-set-server=utf8 --collation-server=utf8_bin
4 创建zabbix-server
docker run --name zabbix-server-mysql --hostname zabbix-server-mysql \
--link zabbix-mysql-server:mysql \
-e DB_SERVER_HOST="mysql" \
-e MYSQL_USER="zabbix" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_PASSWORD="" \
-v /etc/localtime:/etc/localtime:ro \
-v /data/docker/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \
-v /data/docker/zabbix/externalscripts:/usr/lib/zabbix/externalscripts \
-p : \
-d \
zabbix/zabbix-server-mysql
5 最后web-nginx
最后安装zabbix-web-nginx
docker run --name zabbix-web-nginx-mysql --hostname zabbix-web-nginx-mysql \
--link zabbix-mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-e DB_SERVER_HOST="mysql" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="" \
-e MYSQL_DATABASE="zabbix" \
-e ZBX_SERVER_HOST="zabbix-server" \
-e PHP_TZ="Asia/Shanghai" \
-p : \
-p : \
-d \
zabbix/zabbix-web-nginx-mysql
6 结果测试
浏览器访问ip:8000查看
默认登录
username:Admin
password:zabbix
7 docker-zabbbix-agent的安装以及链接zabbix-server
docker run --name zabbix-agent --link zabbix-server-mysql:zabbix-server -p 10050:10050 -d zabbix/zabbix-agent:latest
最后需要在web端将,zabbix-agent添加到zabbix-server的host列表里面。