docker环境下部署zabbix

概述

  • zabbix在docker官方的镜像源中,有维护zabbix公司官方的镜像,我们可以通过hub.docker.com进行下载,搭建docker环境下的zabbix,可以使我们的安装和部署更加快捷。

zabbix的docker镜像源

  • 从这里 zabbix docker镜像源 我们可以打开看到zabbix官方在docker仓库里面维护的镜像源信息。
    在这里插入图片描述

mysql数据库部署

  • 在部署zabbix服务器前,需要提前部署mysql服务器并且创建好zabbix数据库以及用户
拉取mysql镜像
docker pull mysql
运行mysql服务器
docker run -itd --name zabbix-database -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password mysql
  • 上述命令将创建一个名为zabbix-database,并且把3306端口映射到docker主机的3306,设置mysql的root用户密码为password
创建zabbix用户和数据库
  • 进入docker容器

    docker exec -it zabbix-database /bin/bash

  • 登录数据库

    mysql -ppassword

  • 创建zabbix数据库

    create database zabbix character set utf8 collate utf8_bin;

  • 创建zabbix用户

    create user ‘zabbix’@‘localhost’ identified WITH mysql_native_password by ‘password’;
    create user ‘zabbix’@‘%’ identified WITH mysql_native_password by ‘password’;

  • zabbix用户授权

    grant all privileges on zabbix.* to ‘zabbix’@‘localhost’;
    grant all privileges on zabbix.* to ‘zabbix’@‘%’;
    FLUSH PRIVILEGES;

  • 复制mysql初始化数据库文件到容器

    docker cp mysql.tar.gz zabbix-database:/tmp

  • 导入zabbix初始化数据,初始化数据文件可以从zabbix的官方进行下载

    tar -xvf /tmp/mysql.tar.gz
    mysql -uzabbix -ppassword zabbix < /tmp/mysql/schema.sql
    mysql -uzabbix -ppassword zabbix < /tmp/mysql/images.sql
    mysql -uzabbix -ppassword zabbix < /tmp/mysql/data.sql

zabbix服务器部署

  • 这里我们选择使用以mysql作为后端存储的zabbix-server
拉取镜像
docker pull zabbix/zabbix-server-mysql
获取mysql服务器地址
docker inspect zabbix-database|grep IPAddress
运行zabbix-server容器
docker run --name zabbix-server -e DB_SERVER_HOST="172.17.0.2" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="password" -d zabbix/zabbix-server-mysql

zabbix-front服务器部署

  • 这里我们选择以 nginx+php作为前端控制台
拉取镜像
docker pull zabbix/zabbix-web-nginx-mysql
运行zabbix-front容器
docker run --name zabbix-web -p 8080:8080 --link zabbix-database:zabbix-database --link zabbix-server:zabbix-server -e DB_SERVER_HOST="zabbix-database" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="password" -e ZBX_SERVER_HOST="zabbix-server" -e PHP_TZ="Asia/Shanghai" -d zabbix/zabbix-web-nginx-mysql
  • –link 可以连接到docker环境下的对应名称的主机,前提这个主机容器必须存在
  • DB_SERVER_HOST 为数据库服务器地址,可以使用docker inspect进行查看
  • MYSQL_USER 连接数据库的用户名
  • MYSQL_PASSWORD 连接数据库的密码
  • ZBX_SERVER_HOST zabbix服务器,主要用于确认zabbix是否存活
  • PHP_TZ 时区配置
  • -p 将8080端口映射到本地主机的8080

效果验证

  • 打开docker服务器的8080端口,我们可以看到zabbix的服务器已经开始运行了并且可以访问。
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值