Docker 官方镜像构建你的zabbix 5.x
【说明】:
Windows 安装的 VWware 挂载安装的 centos 7 ,进行安装部署 zabbix 过程:
准备工作如下:
踩坑的过程记录:
1、在这一步,先启动一个单独的数据库mysql用于保存zabbix数据
1、#注: 启动命令中不要添加 MYSQL_DATABASE="zabbix" 参数,不然后期同样在server上注册不上,会报user表为空的错误。同时--restart=always写在-d mysql:5.7的前面,要不然容器启动失败
[root@www ~]# docker run --name mysql-server -t \
-p 3306:3306 \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="zabbix" \
-v /home/zabbix/data:/var/lib/mysql \
--restart=always \
-d mysql:5.7 \
--character-set-server=utf8 \
--collation-server=utf8_bin
[定义了数据库名zabbix,数据库用户zabbix,密码zabbix,在本地目录/home/zabbix/data中持久化保存mysql容器运行中的数据,确保容器退出运行后,数据不会丢失,最后两条是定义了数据库的字符集为utf8,解决了mysql数据库保存中文的问题]
查看是创建成功的,进入数据库容器时 有问题:
查看日志:docker logs mysql-server
解决方法:(我用的是 临时方法)
可以看到已经进入容器了!!
数据库目录下也有文件了:
查看数据库
2、然后启动Zabbix Server实例,并关联这个实例到已创建的MySQL实例
[root@localhost var]# docker run --name zabbix-server-mysql -itd \
> -e DB_SERVER_HOST="mysql-server" \
> -e MYSQL_DATABASE="zabbix" \
> -e MYSQL_USER="zabbix" \
> -e MYSQL_PASSWORD="zabbix" \
> -e MYSQL_ROOT_PASSWORD="zabbix" \
> --restart=always \
> --link mysql-server:mysql \
> -p 10051:10051 \
> zabbix/zabbix-server-mysql:latest
adf1f190acae035f5050acbbfa3b0722d525ee099626e171393bda10627d0046
[root@localhost var]#
[root@localhost var]#
启动zabbix server服务,并关联这个服务到上面已经启动的mysql数据库实例上,确保zabbix的数据可以保存到mysql数据库,如果想要数据持久化根据生产环境实际情况灵活决定是否挂载,上面我没有挂载,即没有使用卷持久化。
3、最后启动Zabbix web 接口,并将它与MySQL服务器实例和Zabbix Server实例关联
[root@localhost var]# docker run --name zabbix-web-nginx-mysql -t \
> -e DB_SERVER_HOST="mysql-server" \
> -e MYSQL_DATABASE="zabbix" \
> -e MYSQL_USER="zabbix" \
> -e MYSQL_PASSWORD="zabbix" \
> -e MYSQL_ROOT_PASSWORD="zabbix" \
> -e PHP_TZ="Asia/Shanghai" \
> --link mysql-server:mysql \
> --link zabbix-server-mysql:zabbix-server \ ## 此处 原博客中 \与server 连一起了,导致 命令行中 'r'与 ‘-p’ 连一起了报错,定位折腾了老一会儿 ##
> -p 8080:8080 \
> -d zabbix/zabbix-web-nginx-mysq
【 link mysql-server:mysql 连接数据库实例,mysql-server必须要与第一步的–name mysql-server完全一致
–link zabbix-server-mysql:zabbix-server 连接zabbix服务器实例,zabbix-server-mysql必须要与第二步的–name zabbix-server-mysql完全一致
】
4、打开zabbix web界面
(VWware 的 127.0.0.1 是联不通的,需要ifconfig 查下,或者当时安装 centos 7 的时候,记录的有 以太网的 IP地址 也可以)
设置下中文:
【比较好的参考】:https://blog.csdn.net/qq_34556414/article/details/108099556