如何使用Docker-compose 部署Zabbix监控系统?
2019-05-29 by dongnan
目标
使用 docker-compose
方式部署 zabbix
,用于高效率的替代这篇文章中所使用的部署方式。
说明
因为示例环境中已存在 mysql数据库服务器,所以没有在 docker-compose.yml
中定义 mysql 服务(容器)。
而是使用环境变量定义 mysql数据库的相关信息,如果你需要 mysql 服务(容器),可以参考这篇文章 docker-compose 配置文件 DB部分。
配置文件
cat zabbix/docker-compose.yml
version: '3.1'
services:
zabbix-server:
image: zabbix/zabbix-server-mysql:ubuntu-3.2-latest
ports:
- 10051:10051
volumes:
- /etc/localtime:/etc/localtime
- server-data:/usr/lib/zabbix/alertscripts
environment:
DB_SERVER_HOST: rm-xxxx.mysql.xxx.rds.aliyuncs.com
DB_SERVER_PORT: 3306
MYSQL_USER: zabbix
MYSQL_PASSWORD: password
MYSQL_DATABASE: zabbix
ZBX_CACHESIZE: 512M
ZBX_VALUECACHESIZE: 128M
TZ: 'Asia/Shanghai'
zabbix-web:
image: zabbix/zabbix-web-nginx-mysql:ubuntu-3.2-latest
ports:
- 9000:80
volumes:
- /etc/localtime:/etc/localtime
environment:
DB_SERVER_HOST: rm-xxxx.mysql.xxx.rds.aliyuncs.com
DB_SERVER_PORT: 3306
MYSQL_USER: zabbix
MYSQL_PASSWORD: password
MYSQL_DATABASE: zabbix
ZBX_SERVER_HOST: zabbix-server
PHP_TZ: 'Asia/Shanghai'
TZ: 'Asia/Shanghai'
depends_on:
- zabbix-server
volumes:
server-data:
driver: local
关于 environment 中相关变量含义请参考下面的文章。
创建容器
docker-compose -f zabbix/docker-compose.yml up -d
验证容器
docker-compose -f zabbix/docker-compose.yml ps
Name Command State Ports
-----------------------------------------------------------------------------------------------
zabbix_zabbix-server_1 /sbin/tini -- docker-entry ... Up 0.0.0.0:10051->10051/tcp
zabbix_zabbix-web_1 docker-entrypoint.sh Up 443/tcp, 0.0.0.0:9000->80/tcp