跳转至

如何使用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

参考

回到页面顶部