官方文档

官方文档参考地址:Installation from containers

镜像简介

Docker上面的Zabbix的镜像分为三个部分:

所以,我们要部署一个完整的zabbix,至少需要三个镜像。

这里我们数据库基于mysql、web服务器基于Nginx。所以,我们的镜像选择如下:

启动容器

  1. 启动mysql容器

mysql容器的参数如下:

docker run --name mysql-server -t \
    -e MYSQL_DATABASE="zabbix" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="zabbix_pwd" \
    -e MYSQL_ROOT_PASSWORD="root_pwd" \
    -d mysql:5.7

这里我们只指定mysql的密码来启动:

# docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql
  1. 启动zabbix-server-mysql 容器
docker run --name zabbix-server-mysql -t \
    -e DB_SERVER_HOST="mysql-server" \
    -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" \
    --link mysql-server:mysql \
    --link zabbix-java-gateway:zabbix-java-gateway \
    -p 10051:10051 \
    -d zabbix/zabbix-server-mysql:latest

这里我们用以下命令启动:

docker run --name zabbix-server-mysql -t \
    -e DB_SERVER_HOST="mysql" \
    -e MYSQL_DATABASE="zabbix" \
    -e MYSQL_USER="root" \
    -e MYSQL_PASSWORD="root" \
    -e MYSQL_ROOT_PASSWORD="root" \
    --link mysql:mysql \
    -p 10051:10051 \
    -d zabbix/zabbix-server-mysql
  1. 启动zabbix-web-nginx-mysql容器
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_pwd" \
    -e MYSQL_ROOT_PASSWORD="root_pwd" \
    --link mysql-server:mysql \
    --link zabbix-server-mysql:zabbix-server \
    -p 80:80 \
    -d zabbix/zabbix-web-nginx-mysql:latest

这里我们用以下命令启动:


docker run --name zabbix-web-nginx -d 
--link mysql:mysql 
--link zabbix-server-mysql:zabbix-server-mysql 
-p 80:80 -e DB_SERVER_HOST="mysql" 
-e MYSQL_USER="root" -e MYSQL_PASSWORD="root" zabbix/zabbix-web-nginx-mysql 

Docker的调试

可以用docker logs [容器名称] 来查看日志或错误信息。