1.MySQL下创建用户并赋权(存储zabbix元数据用)
CREATE DATABASE IF NOT EXISTS zabbix COLLATE = 'utf8_general_ci' CHARACTER SET = 'utf8';
GRANT ALL ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';
FLUSH PRIVILEGES;
2.拉取zabbix-server镜像文件,启动容器
docker pull zabbix/zabbix-server-mysql
docker run -d --name zabbix-server --hostname zabbix-server \
-e DB_SERVER_HOST=192.168.1.55 \
-e DB_SERVER_PORT=3306 \
-e MYSQL_USER=zabbix \
-e MYSQL_DATABASE=zabbix \
-e MYSQL_PASSWORD=zabbix \
-v zabbix_server_conf:/etc/zabbix \
-v zabbix_server_data:/var/lib/zabbix \
-v zabbix_server_scripts:/usr/lib/zabbix \
-v /etc/localtime:/etc/localtime:ro \
-p 10051:10051 \
zabbix/zabbix-server-mysql
3.拉取zabbix-web镜像文件,并启动
docker pull zabbix/zabbix-web-nginx-mysql
docker run -d --name zabbix-web-nginx --hostname zabbix-web-nginx \
-e DB_SERVER_HOST=192.168.1.55 \
-e DB_SERVER_PORT=3306 \
-e MYSQL_USER=zabbix \
-e MYSQL_PASSWORD=zabbix \
-e MYSQL_DATABASE=zabbix \
-e ZBX_SERVER_HOST=192.168.1.58 \
-e ZBX_SERVER_PORT=10051 \
-e zabbix_web_data:/usr/share/zabbix \
-v zabbix_web_conf:/etc/zabbix \
-e PHP_TZ="Asia/Shanghai" \
-p 8080:80 \
-p 8443:443 \
zabbix/zabbix-web-nginx-mysql
3.拉取zabbix/zabbix-agent镜像文件,并且启动
在zabbix-server端启动时ZBX_SERVER_HOST的值需要为172.17.0.1
docker pull zabbix/zabbix-agent
docker run -d --name zabbix-agent \
--hostname zabbix-agent \
-v zabbix_agent_config:/etc/zabbix \
-v /proc:/data/proc \
-v /sys:/data/sys \
-v /dev:/data/dev \
-v /var/run/docker.sock:/var/run/docker.sock \
-p 10050:10050 \
-e ZBX_HOSTNAME=192.168.1.55 \
-e ZBX_SERVER_HOST=192.168.1.58 \
-e ZBX_SERVER_PORT=10051 \
-e CONFIG_FILE=/etc/zabbix/zabbix_agentd.conf \
zabbix/zabbix-agent