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

相关推荐
kaixin_啊啊1 小时前
飞牛部署Mtab完整实战:Docker安装、MySQL建库与固定地址访问
mysql·docker·容器
程序员老赵13 小时前
Docker 部署 Wiki.js:轻松搭建私有化维基知识库
docker·容器·开源
灯澜忆梦15 小时前
【Docker】#5 | 网络配置
网络·docker·容器
刘胡子大叔16 小时前
docker build 跑了 92 分钟还是失败了
docker·容器
她说可以呀16 小时前
Docker 镜像的两种创建方式
java·分布式·docker
虎头金猫17 小时前
从上传PPT到观众远程打开互动页面:Claper在CentOS 7上的Docker部署、互动组件设置与固定访问地址实战
linux·运维·网络·人工智能·docker·centos·powerpoint
%KT%19 小时前
ubuntu系统部署docker
运维·docker·容器
十二同学啊19 小时前
Docker 容器化技术详解:镜像、容器、网络与应用部署设计
网络·docker·eureka
I'mChloe19 小时前
不再逐台装Docker:我用Ansible Playbook批量统一服务器环境
服务器·docker·ansible
江湖有缘20 小时前
Docker实战 | 使用Docker部署Readeck书签管理工具
java·docker·eureka