上篇文章我们分享了如何基于Cento7部署Zabbix,今天我们来分享一下如何在Docker上部署Zabbix5.0 LTS。整体过程还是比较方便的,可以很快速的拉起来一台Zabbix。下面的命令由于没有做持久化配置,不建议大家在上产环境使用,做做测试还是可以哒。如果部署在生产环境一定要做持久化设置。
前提-安装Docker
yum install -y yum-utils yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install docker-ce docker-ce-cli containerd.io systemctl start docker
安装Docker-MySQL
docker run --name mysql-server -t \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="pangshare.com" \ -e MYSQL_ROOT_PASSWORD="pangshare.com" \ -d mysql:5.7 \ --character-set-server=utf8 --collation-server=utf8_bin
MySQL使用的5.7版本,之前也尝试用了8.0版本的MySQL但是在容器里面实在没搞定8.0新增的身份验证问题,所以暂时使用5.7版本的MySQL,后面搞定了会更新相关内容。
安装Docker-Java Agent
docker run --name zabbix-java-gateway -t \ -d zabbix/zabbix-java-gateway:latest
如果不做Java的监控也可以不用安装此步骤
安装Docker-Zabbix
docker run --name zabbix-server-mysql -t \ -e DB_SERVER_HOST="mysql-server" \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="pangshare.com" \ -e MYSQL_ROOT_PASSWORD="pangshare.com" \ -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \ --link mysql-server:mysql \ --link zabbix-java-gateway:zabbix-java-gateway \ -p 10051:10051 \ -d zabbix/zabbix-server-mysql:latest
安装Docker-Nginx
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="pangshare.com" \ -e MYSQL_ROOT_PASSWORD="pangshare.com" \ --link mysql-server:mysql \ --link zabbix-server-mysql:zabbix-server \ -p 80:8080 \ -d zabbix/zabbix-web-nginx-mysql:latest
此处请注意Nginx端口映射的问题,由于Docker中Zabbix使用的是8080端口,所以需要把宿主机的80端口映射到容器里面的8080端口,这样在部署完成后在宿主机就可以直接使用宿主机IP进行Zabbix服务器访问了。
检查
当部署完成后,可以通过下述命令查看应用的日志是否出现报错及其他不可预见的问题。
# 查看正在运行的Docker docker ps -a ………………………… # 通过docker CONTAINER ID 查看docker日志 docker logs <CONTAINER ID >
访问
访问地址:http://宿主机IP
此文章为原创文章,作者:胖哥叨逼叨,如若转载,请与我联系并注明出处:https://www.pangshare.com/2348.htm