注意:
zabbix6.0所需环境需要centos8.0
# 查看centos版本
cat /etc/centos-release
# 查看linux版本
cat /proc/version
1 安装并启动docker
yum install -y yum-utils
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
yum install docker
systemctl start docker
2 拉取mysql、zabbix-server等镜像
docker pull mysql:5.7
docker pull docker.io/zabbix/zabbix-web-nginx-mysql:centos-5.4-latest
docker pull docker.io/zabbix/zabbix-server-mysql:centos-5.4-latest
①运行mysql
- 创建存储卷,用于持久化mysql数据
docker volume create -d local mysql_data # 存放mysql的数据
docker volume create -d local mysql_logs # 存放mysql的日志
docker volume create -d local mysql_conf # 存放mysql的配置文件
说明:存储卷默认存储位置路径为:/var/lib/docker/volume/${volume_name}。
- 创建并运行mysql8容器
docker run --name mysql-server -t \
-v mysql_data:/var/lib/mysql \
-v mysql_logs:/var/log/mysql \
-v mysql_conf:/etc/mysql \
-e MYSQL\_DATABASE="zabbix" \
-e MYSQL\_USER="zabbix" \
-e MYSQL\_PASSWORD="zabbix\_pwd" \
-e MYSQL\_ROOT\_PASSWORD="123456" \
--restart=unless-stopped \
-d mysql:8.0 \
--character-set-server=utf8 --collation-server=utf8_bin \
--default-authentication-plugin=mysql_native_password
说明:zabbix6.x版本要求使用mysql8.0。
②运行zabbix-java-gateway
docker run --name zabbix-java-gateway -t \
--restart=unless-stopped \
-d zabbix/zabbix-java-gateway:alpine-6.2-latest
③运行zabbix-server
- 创建存储卷,用于存储zabbix的配置文件
docker volume create -d local zabbix_server
- 创建并启动zabbix-server
运行zabbix-server容器,开放10051/TCP端口,用于接收监控数据。添加–link参数,实现mysql和java-gateway容器间的互相通信。
docker run --name zabbix-server-mysql -t \
-v zabbix_server:/etc/zabbix \
-e DB\_SERVER\_HOST="mysql-server" \
-e MYSQL\_DATABASE="zabbix" \
-e MYSQL\_USER="zabbix" \
-e MYSQL\_PASSWORD="zabbix\_pwd" \
-e MYSQL\_ROOT\_PASSWORD="123456" \
-e ZBX\_JAVAGATEWAY="zabbix-java-gateway" \
--link mysql-server:mysql \
--link zabbix-java-gateway:zabbix-java-gateway \
--restart=unless-stopped \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:alpine-6.2-latest
注意:
此方式适合所有容器部署在同一台主机上,如果是分开部署,则在前面的步骤需要开放相关端口,并通过局域网进行连接。