本教程基于Centos7。其余Linux发行版操作理论上无特别差异。
1.关闭Selinux
#临时关闭
setenforce 0
#永久关闭
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#关闭防火墙(方便测试)
systemctl stop firewalld
2.安装Docker
执行如下命令,即可自动Docker安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
3.启动DOcker
systemctl start docker
4.设置开机自启动
systemctl enable docker
5.查看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
#创建存储卷 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
#创建存储卷 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服务 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)
错误信息