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

相关推荐
生活爱好者!10 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器
java_logo11 小时前
Docker Compose 部署 ClickHouse:快速搭建高性能列式数据库
数据库·clickhouse·docker·列式数据库·轩辕镜像·高性能数据库·clickhouse部署教程
MC皮蛋侠客11 小时前
uv 系列(七):CI/CD、Docker 与私有索引——生产级交付
python·ci/cd·docker·uv
Hui Baby12 小时前
K8S使用CRD和控制器简单应用
云原生·容器·kubernetes
用户2333768521814 小时前
Docker 端口"时通时不通"的排查实战
docker
做个文艺程序员15 小时前
Linux第22篇:用Docker容器化你的Java SaaS应用:一次构建,随处运行
java·docker·容器
ShiXZ21315 小时前
Redis docker-compose 部署指南
redis·docker·eureka
梦梦代码精17 小时前
基于ThinkPHP6 + Vue3的家政预约系统全解析:从LBS定位到自动派单的完整实现
java·docker·开源·php·代码规范
Zhu75817 小时前
在k8s环境部署Apache Superset最新版
容器·kubernetes·apache
小的博客17 小时前
windows下安装Docker Desptop
运维·docker·容器