首先,启动空的 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 \
--character-set-server=utf8 --collation-server=utf8_bin
其次,启动 Zabbix Java gateway 实例
docker run --name zabbix-java-gateway -t \
-d zabbix/zabbix-java-gateway:latest
然后,启动 Zabbix server 实例,并将其关联到已创建的 MySQL server 实例。
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
最后,启动 Zabbix Web 界面,并将其关联到已创建的 MySQL server 和 Zabbix server 实例。
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
登录web界面。
登录账号:Admin 登录密码:zabbix
遇到的问题:
操作完成后网页打不开: 进入zabbix/zabbix-web-nginx-mysql:latest
容器:
docker exec -it -uroot 容器id /bin/sh
修改nginx配置文件:
vi /etc/nginx/http.d/nginx.conf
将配置文件中的8080改为80,保存退出。 重启nginx。
nginx -s reload
如果遇到报错如下:
[crit] 48#48: *1 connect() to unix:/tmp/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 192.168.77.2, server: zabbix, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-fpm.sock:", host: "192.168.161.166"
在容器中运行:
chmod -R 777 /tmp/php-fpm.sock
也可以将这个权限配置到php-fpm的配置文件中,本文就不研究了。