目录
安装docker
mysql数据库部署
拉取mysql镜像
运行mysql服务器
创建zabbix用户和数据库
进入docker容器登陆数据库
创建zabbix数据库创建zabbix用户
zabbix用户授权
复制mysql初始化数据库文件到容器
导入zabbix初始化数据
zabbix服务器部署
拉取镜像
运行容器
效果验证
安装docker
#永久关闭selinux,需要重启
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
#关闭防火墙并设为开机不自启,然后显示状态
systemctl stop firewalld.service &> /dev/null
systemctl disable firewalld.service &> /dev/null
#配置yum源安装需要的组件
yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#查看docker版本
yum list docker-ce --showduplicates
#安装最新的稳定版本
yum install 3:docker-ce-20.10.17-3.el7.x86_64 -y
#配置镜像加速、镜像仓库、docker数据存储路径
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://7w5yqlyj.mirror.aliyuncs.com"],
"insecure-registries": ["http://docker.hanweb.com"],
"graph": "/data/dockerdata/docker"
}
EOF
#启动docker
sudo systemctl daemon-reload
sudo systemctl start docker
systemctl enable docker
mysql数据库部署
在部署zabbix服务器前,需要提前部署mysql服务器并且创建好zabbix数据库以及用户
拉取mysql镜像
docker pull mysql
运行mysql服务器
docker run -itd --name zabbix-database -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password mysql
创建一个名为zabbix-database,并且把3306端口映射到docker主机的3306,设置mysql的root用户密码为password
创建zabbix用户和数据库
进入docker容器登陆数据库
docker exec -it zabbix-database /bin/bash
mysql -ppassword
创建zabbix数据库创建zabbix用户
create database zabbix character set utf8 collate utf8_bin;
create user 'zabbix'@'localhost' identified WITH mysql_native_password by 'password';
create user 'zabbix'@'%' identified WITH mysql_native_password by 'password';
zabbix用户授权
grant all privileges on zabbix.* to 'zabbix'@'localhost';
grant all privileges on zabbix.* to 'zabbix'@'%';
FLUSH PRIVILEGES;
复制mysql初始化数据库文件到容器
docker cp schema.sql zabbix-database:/tmp
docker cp images.sql zabbix-database:/tmp
docker cp data.sql zabbix-database:/tmp
导入zabbix初始化数据
docker exec -it zabbix--database
mysql -ppassword
show databases;
use zabbix
source /tmp/schema.sql
source /tmp/images.sql
source /tmp/data.sql
zabbix服务器部署
拉取镜像
docker pull zabbix/zabbix-server-mysql:centos-6.2.6
docker pull zabbix/zabbix-web-nginx-mysql:centos-6.2.6
运行容器
docker run --name zabbix-server -e DB_SERVER_HOST="172.17.0.2" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="password" -d zabbix/zabbix-server-mysql:centos-6.2.6
docker run --name zabbix-web -p 8080:8080 --link zabbix-database:zabbix-database --link zabbix-server:zabbix-server -e DB_SERVER_HOST="zabbix-database" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="password" -e ZBX_SERVER_HOST="zabbix-server" -e PHP_TZ="Asia/Shanghai" -d zabbix/zabbix-web-nginx-mysql:centos-6.2.6
效果验证