docker-compose.yml 파일 만들어서 사용
services:
# Zabbix database
zabbix-db:
container_name: zabbix-db
image: mariadb:10.11.4
restart: always
volumes:
- ./zabbix-db/mariadb:/var/lib/mysql:rw
- ./zabbix-db/backups:/backups
command:
- mariadbd
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_bin
- --default-authentication-plugin=mysql_native_password
environment:
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix
- MYSQL_ROOT_PASSWORD=zabbix
stop_grace_period: 1m
# Zabbix server
zabbix-server:
container_name: zabbix-server
image: zabbix/zabbix-server-mysql:latest
restart: always
ports:
- 10051:10051
volumes:
- /etc/localtime:/etc/localtime:ro
- ./zabbix-server/alertscripts:/usr/lib/zabbix/alertscripts:ro
- ./zabbix-server/externalscripts:/usr/lib/zabbix/externalscripts:ro
- ./zabbix-server/dbscripts:/var/lib/zabbix/dbscripts:ro
- ./zabbix-server/export:/var/lib/zabbix/export:rw
- ./zabbix-server/modules:/var/lib/zabbix/modules:ro
- ./zabbix-server/enc:/var/lib/zabbix/enc:ro
- ./zabbix-server/ssh_keys:/var/lib/zabbix/ssh_keys:ro
- ./zabbix-server/mibs:/var/lib/zabbix/mibs:ro
environment:
- MYSQL_ROOT_USER=root
- MYSQL_ROOT_PASSWORD=zabbix
- DB_SERVER_HOST=zabbix-db
- ZBX_STARTPINGERS=1
depends_on:
- zabbix-db
stop_grace_period: 30s
sysctls:
- net.ipv4.ip_local_port_range=1024 65000
- net.ipv4.conf.all.accept_redirects=0
- net.ipv4.conf.all.secure_redirects=0
- net.ipv4.conf.all.send_redirects=0
# Zabbix web UI
zabbix-web:
container_name: zabbix-web
image: zabbix/zabbix-web-nginx-mysql:latest
restart: always
ports:
- 8080:8080
volumes:
- /etc/localtime:/etc/localtime:ro
- ./zabbix-web/nginx:/etc/ssl/nginx:ro
- ./zabbix-web/modules/:/usr/share/zabbix/modules/:ro
environment:
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix
- DB_SERVER_HOST=zabbix-db
- ZBX_SERVER_HOST=zabbix-server
- ZBX_SERVER_NAME=Zabbix Docker
- PHP_TZ=Asia/Seoul
depends_on:
- zabbix-db
- zabbix-server
stop_grace_period: 10s