一、安装docker
1.下载Dcoker依的赖环境
想安装Docker,需要先将依赖的环境全部下载下来,就像Maven依赖JDK一样 yum -y install yum-utils device-mapper-persistent-data lvm2
2.指定Docker镜像源
默认下载Docker会去国外服务器下载,速度较慢,可以设置为阿里云镜像源,速度更快 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安装Docker
yum makecache fast yum -y install docker-ce
4.启动Docker并测试
安装成功后,需要手动启动,设置为开机启动,并测试一下 Docker #启动docker服务 systemctl start docker #设置开机自动启动 systemctl enable docker #测试 docker run hello-world
二、部署zabbix
拉取mysql5.7镜像
docker pull mysql:5.7
拉取zabbix-server的镜像
docker pull zabbix/zabbix-server-mysql:centos-latest
拉取Zabbix web镜像
docker pull zabbix/zabbix-web-nginx-mysql:latest
拉取zabbix-java-gateway镜像
docker pull zabbix/zabbix-java-gateway:latest
创建docker网络
启动zabbix等镜像之前,需要先创建一个新的 Docker 网络。需要将后面的zabbix-server、mysql、web等容器都加入到此网络中,方便互相访问。在终端使用下面命令创建。 docker network create -d bridge zabbix_net
运行mysql 镜像,创建mysql容器
docker run -dit -p 3306:3306 —name zabbix-mysql —network zabbix_net —restart always -v /etc/localtime:/etc/localtime -e MYSQL_DATABASE=”zabbix” -e MYSQL_USER=”zabbix” -e MYSQL_PASSWORD=”zabbix” -e MYSQL_ROOT_PASSWORD=”Lixian656.” mysql:5.7
运行zabbix-java-gateway镜像,创建zabbix-java-gateway容器
docker run -v /etc/localtime:/etc/localtime -dit —restart=always —name=zabbix-java-gateway —network zabbix_net zabbix/zabbix-java-gateway:latest
创建数据卷zabbix-server-vol
docker volume create zabbix-server-vol
启动zabbix-server-mysql容器
docker run -dit -p 10051:10051 —mount source=zabbix-server-vol,target=/etc/zabbix -v /etc/localtime:/etc/localtime -v /usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts —name=zabbix-server-mysql —restart=always —network zabbix_net -e DB_SERVER_HOST=”zabbix-mysql” -e MYSQL_DATABASE=”zabbix” -e MYSQL_USER=”zabbix” -e MYSQL_PASSWORD=”zabbix” -e MYSQL_ROOT_PASSWORD=”Lixian656.” -e ZBX_JAVAGATEWAY=”zabbix-java-gateway” zabbix/zabbix-server-mysql:centos-latest
运行zabbix-web-nginx-mysql镜像,创建zabbix-web-nginx-mysql容器
docker run -dit -p 80:8080 -v /etc/localtime:/etc/localtime —name zabbix-web-nginx-mysql —restart=always —network zabbix_net -e DB_SERVER_HOST=”zabbix-mysql” -e MYSQL_DATABASE=”zabbix” -e MYSQL_USER=”zabbix” -e MYSQL_PASSWORD=”zabbix” -e MYSQL_ROOT_PASSWORD=”Lixian656.” -e ZBX_SERVER_HOST=”zabbix-server-mysql” zabbix/zabbix-web-nginx-mysql:latest
安装zabbix客户端
apt-get install -y zabbix-agent
开放10050端口
如果服务器开启了IPtable防火墙或者云服务器安全组,请打开相应的端口 iptables -I INPUT -p tcp -m tcp —dport 10050 -m comment —comment “zabbix_agentd listen “ -j ACCEPT
查看容器IP
d8b1ad123806 zabbix/zabbix-server-mysql:centos-latest [root@test ~]# docker exec -it d8b1ad123806 ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 43: eth0@if44: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:ac:12:00:04 brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 172.18.0.4/16 brd 172.18.255.255 scope global eth0 valid_lft forever preferred_lft forever
在浏览器中输入http://IP/zabbix,打开zabbix首页,其中用户名密码分别是Admin/zabbix
注意:是服务器的IP,不是容器IP