1. 下载载MySQL镜像mysql:5.7。在docker hub上有如下版本java
docker pull mysql:5.7
docker image ls
2. 下载zabbix-server镜像,zabbix-server镜像分两种,支持MySQL数据库zabbix-server-mysql,支持支持PostgreSQL数据库zabbix/zabbix-server-pgsql。下面安装的是支持MySQL数据库的Server镜像。node
打开zabbix-server-mysql的docker hub,你们会发现,zabbix-server-mysql有下面这些版本mysql
Zabbix server 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest) Zabbix server 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*) Zabbix server 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest) Zabbix server 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*) Zabbix server 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest, alpine-latest, ubuntu-latest, centos-latest, latest) Zabbix server 3.4.* (tags: alpine-3.4.*, ubuntu-3.4.*, centos-3.4.*) Zabbix server 4.0 (tags: alpine-trunk, ubuntu-trunk)
由于个人服务器是centos7版本,因此选择的是centos-latest版本。还有后面若是想本身重作镜像的话,选择centos版本,用着会更简单一点。在linux终端使用linux
docker pull zabbix/zabbix-server-mysql:centos-latest
下载zabbix-server的镜像。再经过nginx
docker image ls
查看下载的镜像。以下图:web
3. 下载Zabbix web镜像,这里使用的是基于Nginx web服务器及支持MySQL数据库的Zabbix web接口zabbix/zabbix-web-nginx-mysql。这里是用的是latest版本,在linux终端使用sql
docker pull zabbix/zabbix-web-nginx-mysql:latest
下载web镜像。再经过 docker
docker image ls
查看下载的镜像。以下图: 数据库
4. 下载zabbix-java-gateway镜像, Zabbix自己不支持直接监控Java,而是使用zabbix-java-gateway监控jvm/tomcat性能。这里咱们使用latest版本,在linux终端使用ubuntu
docker pull zabbix/zabbix-java-gateway:latest
下载zabbix-java-gateway镜像。再经过
docker image ls
查看下载的镜像。以下图:
1. 启动zabbix等镜像以前,须要先建立一个新的 Docker 网络。须要将后面的zabbix-server、mysql、web等容器都加入到此网络中,方便互相访问。在终端使用下面命令建立。
docker network create -d bridge zabbix_net
建立后,能够查看是否建立成功。
docker network ls
2. 运行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_pwd" -e MYSQL_ROOT_PASSWORD="root_pwd" mysql:5.7
其中-p 是将容器中的3306端口映射到服务器的3306端口,
--network zabbix_net是将容器加入到zabbix_net网络中,
-v /etc/localtime:/etc/localtime是同步服务器和容器内部的时区,
--restart always设置自启动,
-e MYSQL_DATABASE="zabbix",建立环境变量。
--name zabbix-mysql,给容器命名。
3. 运行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
4. 运行zabbix-server-mysql镜像,建立zabbix-server-mysql容器。
首先建立数据卷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_pwd" -e MYSQL_ROOT_PASSWORD="root_pwd" -e ZBX_JAVAGATEWAY="zabbix-java-gateway" zabbix/zabbix-server-mysql:centos-latest
5. 运行zabbix-web-nginx-mysql镜像,建立zabbix-web-nginx-mysql容器。
docker run -dit -p 80:80 -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_pwd" -e MYSQL_ROOT_PASSWORD="root_pwd" -e ZBX_SERVER_HOST="zabbix-server-mysql" zabbix/zabbix-web-nginx-mysql:latest
zabbix所需容器已经所有启动,能够通docker ps 查看容器状态,以下图:
6. 在浏览器中输入http://IP/zabbix,打开zabbix首页,其中用户名密码分别是admin/zabbix。
出现下面页面,zabbix搭建成功。是否是比本身建立数据库,搭建zabbix-server简单不少。