安装Docker
本教程基于Centos7。其余Linux发行版操作理论上无特别差异。
#关闭Selinux
#临时关闭
setenforce 0
#永久关闭
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#关闭防火墙(方便测试)
systemctl stop firewalld
#安装Docker
#执行如下命令,即可自动Docker安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
#启动DOcker
systemctl start docker
#设置开机自启动
systemctl enable docker
#查看docker状态
systemctl status docker
#看到如下图信息,即docker环境已准备完毕
拉取所需镜像
#由于国内环境原因,目前访问Docker镜像仓库可能会存在问题,这里采用国内加速器进行镜像拉取
#Mysql
docker pull dockerpull.org/mysql:8.4
#Zabbix server
docker pull dockerpull.org/zabbix/zabbix-server-mysql:7.0.6-centos
#Zabbix web
docker pull dockerpull.org/zabbix/zabbix-web-nginx-mysql:7.0.6-centos
启动Mysql服务
#创建存储卷
docker volume create -d local mysql_data
docker volume create -d local mysql_logs
docker volume create -d local mysql_conf
#创建Docker网络
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
#启动Mysql服务
docker run -itd --name=mysql -v mysql_data:/var/lib/mysql -v mysql_logs:/var/log/mysql -v mysql_conf:/etc/mysql -e MYSQL_DATABASE="zabbix" -e MYSQL_PASSWORD="P@ssw0rd" -e MYSQL_ROOT_PASSWORD="P@ssw0rd" --restart=always --network=zabbix-net -p 3306:3306 dockerpull.org/mysql:8.4
启动Zabbix server服务
#创建存储卷
docker volume create -d local zabbix_server
#启动Zabbix server服务
docker run -itd --name zabbix-server -v zabbix_server:/etc/zabbix -e DB_SERVER_HOST="mysql" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="P@ssw0rd" -e MYSQL_ROOT_PASSWORD="P@ssw0rd" --network=zabbix-net -p 10051:10051 --restart=always dockerpull.org/zabbix/zabbix-server-mysql:7.0.6-centos
启动Zabbix web服务
#启动Zabbix web服务
docker run -itd -e PHP_TZ="Asia/Shanghai" -e ZBX_SERVER_HOST="zabbix-server" -e DB_SERVER_HOST="mysql" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="P@ssw0rd" -e MYSQL_ROOT_PASSWORD="P@sswrd" -p 80:8080 --network=zabbix-net --restart=always dockerpull.org/zabbix/zabbix-web-nginx-mysql:7.0.6-centos
至此,Zabbix已部署完毕,访问虚拟机IP进行测试即可(默认账密 Admin/zabbix)