# cat docker-compose.yml
version: '3'
networks:
monitor-net:
driver: bridge
ipam:
config:
- subnet: 172.50.0.0/16
gateway: 172.50.0.1
ip_range: 172.50.0.8/30
services:
zabbix-mysql:
image: mysql:8.0
hostname: zabbix-mysql
networks:
monitor-net:
ipv4_address: 172.50.0.10
privileged: true
environment:
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix@888
- MYSQL_ROOT_PASSWORD=root_password
volumes:
- /opt/zabbix/zabbix-mysql/data:/var/lib/mysql
# - /opt/zabbix/zabbix-mysql/my.cnf:/etc/my.cnf
ports:
- 3306:3306
restart: always
zabbix-server:
image: zabbix/zabbix-server-mysql:latest
hostname: zabbix-server
networks:
monitor-net:
ipv4_address: 172.50.0.11
extra_hosts:
- "zabbix-mysql:172.50.0.10"
privileged: true
ports:
- 10051:10051
environment:
- zabbix-mysql_SERVER_HOST=zabbix-mysql
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix@888
- MYSQL_ROOT_PASSWORD=root_password
depends_on:
- zabbix-mysql
volumes:
- /opt/zabbix/zabbix-server/alertscripts:/usr/lib/zabbix/alertscripts
restart: always
zabbix-web:
image: zabbix/zabbix-web-nginx-mysql:latest
hostname: zabbix-web
networks:
monitor-net:
ipv4_address: 172.50.0.12
extra_hosts:
- "zabbix-server:172.50.0.11"
privileged: true
environment:
- PHP_TZ=Asia/Shanghai
- zabbix-mysql_SERVER_HOST=zabbix-mysql
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix@888
- MYSQL_ROOT_PASSWORD=root_password
depends_on:
- zabbix-server
ports:
- 666:8080
restart: always
# docker-compose -f docker-compose.yml up -d
# docker-compose ps