官网手册:docker安装zabbix
首先需要安装好docker服务
-
创建专用于Zabbix组件容器的网络
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
-
启动空的 MySQL 服务器实例
docker run --name mysql-server -t \ //mysql容器的名字为mysql-server -v zabbix-mysql:/var/lib/mysql \ //将mysql挂载点重命名为zabbix-mysql,这里也可以改为具体路径 -e MYSQL_DATABASE="zabbix" \ //创建数据库zabbix -e MYSQL_USER="zabbix" \ //创建mysql账号zabbix -e MYSQL_PASSWORD="zabbix_pwd" \ //设置zabbix账号密码为zabbix_pwd -e MYSQL_ROOT_PASSWORD="root_pwd" \ //设置root密码为root_pwd 这条一定要有 --network=zabbix-net \ //加入到zabbix网络 --restart unless-stopped \ //在容器停止时重启 -d mysql:8.0 \ //指定镜像 --character-set-server=utf8 --collation-server=utf8_bin \ //设置字符集,字符校验 --default-authentication-plugin=mysql_native_password
-
启动Zabbix Java网关实例
docker run --name zabbix-java-gateway -t \ --network=zabbix-net \ --restart unless-stopped \ -d zabbix/zabbix-java-gateway:alpine-6.2-latest
-
启动Zabbix服务器实例并将实例与创建的MySQL服务器实例链接
docker run --name zabbix-server-mysql -t \ //设置zabbix服务器容器名字为zabbix-server-mysql -v zabbix-export:/var/lib/zabbix/export //将zabbix的挂载点做一个重命名 -v zabbix-snmptraps:/var/lib/zabbix/snmptraps -e DB_SERVER_HOST="mysql-server" \ //设置连接数据库的主机名为mysql-server -e MYSQL_DATABASE="zabbix" \ //连接mysql的数据库是zabbix -e MYSQL_USER="zabbix" \ //mysql的用户是zabbix -e MYSQL_PASSWORD="zabbix_pwd" \ //密码 -e MYSQL_ROOT_PASSWORD="root_pwd" \ //root用户的密码 -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \ //连接网关 --network=zabbix-net \ //加入网络 -p 10051:10051 \ //将端口映射到宿主机的10051端口 --restart unless-stopped \ -d zabbix/zabbix-server-mysql:alpine-6.2-latest
-
启动Zabbix Web界面,并将实例与创建的MySQL服务器和Zabbix服务器实例链接
docker run --name zabbix-web-nginx-mysql -t \ //nginx容器名称
-e ZBX_SERVER_HOST="zabbix-server-mysql" \ //指定zabbix主机的名称
-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" \ //管理员密码
--network=zabbix-net \ //加入到zabbix网络
-p 80:8080 \ //将端口映射到宿主机的80端口
--restart unless-stopped \
-d zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest
6、查看容器启动情况
7、由于nginx映射到了宿主机的80端口,现在来访问测试(默认账号密码是Admin/zabbix)