RedHat 7.9 docker 安装 zabbix

安装vim net-tools wget

yum install vim

yum install -y net-tools

yum install -y wget

下载docker,go语言可以不用装

wget https://download.docker.com/linux/static/stable/x86_64/docker-29.0.2.tgz

tar -zxvf docker-29.0.2.tgz

yum install -y yum-utils device-mapper-persistent-data lvm2 git go

#wget https://golang.google.cn/dl/go1.25.4.linux-amd64.tar.gz

#rm -rf /usr/local/go && tar -C /usr/local -xzf go1.25.4.linux-amd64.tar.gz

#export PATH=$PATH:/usr/local/go/bin

cp docker/* /usr/bin/

编辑docker管理文件

vim /etc/systemd/system/docker.service

bash 复制代码
[Unit]

Description=Docker Application Container Engine

Documentation=https://docs.docker.com

After=network-online.target firewalld.service

Wants=network-online.target



[Service]

Type=notify

# the default is not to use systemd for cgroups because the delegate issues still

# exists and systemd currently does not support the cgroup feature set required

# for containers run by docker



ExecStart=/usr/bin/dockerd

ExecReload=/bin/kill -s HUP $MAINPID

# Having non-zero Limit*s causes performance problems due to accounting overhead

# in the kernel. We recommend using cgroups to do container-local accounting.

LimitNOFILE=infinity

LimitNPROC=infinity

LimitCORE=infinity

# Uncomment TasksMax if your systemd version supports it.

# Only systemd 226 and above support this version.

#TasksMax=infinity

TimeoutStartSec=0

# set delegate yes so that systemd does not reset the cgroups of docker containers

Delegate=yes

# kill only the docker process, not all processes in the cgroup

KillMode=process

# restart the docker process if it exits prematurely

Restart=on-failure

StartLimitBurst=3

StartLimitInterval=60s



[Install]

WantedBy=multi-user.target

启动docker

chmod +x /etc/systemd/system/docker.service

systemctl daemon-reload

systemctl enable docker.service

systemctl start docker.service

systemctl status docker.service

docker ps

开启要放行的端口,firewalld不可以关闭

firewall-cmd --permanent --add-port=8080/tcp

firewall-cmd --permanent --add-port=10050/tcp

firewall-cmd --permanent --add-port=10051/tcp

firewall-cmd --permanent --add-port=10052/tcp

firewall-cmd --permanent --add-port=3306/tcp

拉取镜像,mysql镜像建议使用8.0

docker pull mysql:8.0

docker pull zabbix/zabbix-java-gateway:latest

docker pull zabbix/zabbix-server-mysql:latest

docker pull zabbix/zabbix-web-nginx-mysql:latest

docker pull zabbix/zabbix-agent:latest

创建网络

docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net

启动mysql

root@localhost \~# cat mysql.sh

bash 复制代码
docker run --name mysql-server -t \

      -e MYSQL_DATABASE="zabbix" \

      -e MYSQL_USER="zabbix" \

      -e MYSQL_PASSWORD="123456" \

      -e MYSQL_ROOT_PASSWORD="123456" \

      --network=zabbix-net \

      --restart unless-stopped \

      -p 3306:3306 \

      -d mysql:8.0 \

      --character-set-server=utf8 --collation-server=utf8_bin \

      --default-authentication-plugin=mysql_native_password

启动 zabbix-java-gateway

root@localhost \~# cat java-gatewat.sh

bash 复制代码
docker run --name zabbix-java-gateway -t \

  --network=zabbix-net \

  --restart=unless-stopped \

  -d zabbix/zabbix-java-gateway:latest

启动zabbix server

root@localhost \~# cat zabbix_server.sh

bash 复制代码
docker run --name zabbix-server-mysql -t \

  -v zabbix_server:/etc/zabbix \

  -e DB_SERVER_HOST="mysql-server" \

  -e MYSQL_DATABASE="zabbix" \

  -e MYSQL_USER="zabbix" \

  -e MYSQL_PASSWORD="123456" \

  -e MYSQL_ROOT_PASSWORD="123456" \

  -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \

  -p 10051:10051 \

  --network=zabbix-net \

  --restart=unless-stopped \

  -d zabbix/zabbix-server-mysql:latest

启动web端

root@localhost \~# cat nginx-web.sh

bash 复制代码
docker run --name zabbix-web-nginx-mysql -t \

  -e PHP_TZ="Asia/Shanghai" \

  -e ZBX_SERVER_HOST="zabbix-server-mysql" \

  -e DB_SERVER_HOST="mysql-server" \

  -e MYSQL_DATABASE="zabbix" \

  -e MYSQL_USER="zabbix" \

  -e MYSQL_PASSWORD="123456" \

  -e MYSQL_ROOT_PASSWORD="123456" \

  -p 8080:8080 \

  --network=zabbix-net \

  --restart=unless-stopped \

  -d zabbix/zabbix-web-nginx-mysql:latest

启动agent

bash 复制代码
docker run --name zabbix-agent \

-e ZBX_HOSTNAME="Zabbix server" \

-e ZBX_SERVER_HOST="zabbix-server-mysql" \

--init \

--link zabbix-server-mysql:zabbix-server \

--restart unless-stopped \

--network=zabbix-net \

--privileged=true  \

-d -p 10050:10050 zabbix/zabbix-agent:latest 

其他参考命令:

#docker ps -a

#docker network ls

#docker network inspect 网络id

#docker update --restart unless-stopped 容器id

#docker export 容器id > xxx.tar

#docker load xxx.tar

#docker logs 容器id

#docker exec -it 容器id /bin/bash

相关推荐
童槿顏丶12 小时前
docker自动化部署脚本
docker·eureka·自动化
爱莉希雅&&&15 小时前
K8s NFS+StorageClass+PV/PVC+Deployment 实战笔记
笔记·容器·kubernetes
GlueNa2SiO316 小时前
06-Docker存储与数据持久化
笔记·学习·docker
一位正在转型AI全栈的前端工程师17 小时前
前端转全栈:从 502 到 200,我的第一个 Docker+Nginx+Node.js 项目
docker·容器
jason_renyu17 小时前
Linux Docker 服务管理与排查实战指南(新手速查版)
linux·docker·新手docker学习·docker日志查询·docker服务管理
童槿顏丶18 小时前
Jenkins部署(Docker)
java·docker·jenkins
维核科技18 小时前
大模型私有化部署:Docker与Kubernetes实战避坑
docker·容器·kubernetes
呱呱巨基19 小时前
Docker 基础概念学习
linux·c++·学习·docker
七仔啊20 小时前
windows server 2022 安装 Linux Docker
linux·windows·docker