docker+mysql+zabix-server环境搭建

本次使用docker搭建zabbix的组合是mysql+docker+zabix-server,使用zabbix容器连接mysql容器,mysql容器的数据库文件保存在物理主机/opt/mysql_db/mysql/datadir目录下。

测试环境

1、操作系统版本为:centos7.5
2、docker版本为:1.13.1
3 、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="123456" 
-e MYSQL_USER="zabbix" 
-e MYSQL_PASSWORD="123456" 
-e MYSQL_DATABASE="zabbix" 
-p 3306:3306 
-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="123456" 
-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 10051:10051 
-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="123456" 
-e MYSQL_DATABASE="zabbix" 
-e ZBX_SERVER_HOST="zabbix-server" 
-e PHP_TZ="Asia/Shanghai" 
-p 8000:80 
-p 8443:443 
-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列表里面。