ubuntu 24下使用docker compose部署zabbix-server 7.0 + zabbix-proxy 7.0 +agent(非docker)

环境:
Os:ubuntu 24.04
zabbix:7.0.29

192.168.1.102 zabbix-server
192.168.1.105 zabbix-proxy
192.168.1.106 zabbix agent 常规安装方式 不采用docker

 

##############################zabbix-server 7.0#######################

1.准备docker-compose.yml配置文件
工作目录:/opt/zabbix-server
mkdir -p /opt/zabbix-server/mysql_data ##mysql 数据目录

vi /opt/zabbix-server/docker-compose.yml

version: '3.8'

services:
  mysql-server:
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/mysql:8.0.46
    container_name: zabbix-mysql-server
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: Zbx@Root123
      MYSQL_DATABASE: zabbix_server
      MYSQL_USER: zabbix
      MYSQL_PASSWORD: Zbx@Db123
    volumes:
      - ./mysql_data:/var/lib/mysql
    ports:
      - "3306:3306"
    command:
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_unicode_ci

  zabbix-server:
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/zabbix-server-mysql:ubuntu-7.0.29
    container_name: zabbix-server
    restart: always
    depends_on:
      - mysql-server
    environment:
      DB_SERVER_HOST: mysql-server
      MYSQL_DATABASE: zabbix_server
      MYSQL_USER: zabbix
      MYSQL_PASSWORD: Zbx@Db123
      MYSQL_ROOT_PASSWORD: Zbx@Root123
    ports:
      - "10051:10051"
    volumes:
      - ./alertscripts:/usr/lib/zabbix/alertscripts
      - ./externalscripts:/usr/lib/zabbix/externalscripts

  zabbix-web-nginx-mysql:
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/zabbix-web-nginx-mysql:ubuntu-7.0.29
    container_name: zabbix-web
    restart: always
    depends_on:
      - mysql-server
      - zabbix-server
    environment:
      DB_SERVER_HOST: mysql-server
      MYSQL_DATABASE: zabbix_server
      MYSQL_USER: zabbix
      MYSQL_PASSWORD: Zbx@Db123
      ZBX_SERVER_HOST: zabbix-server
      PHP_TZ: Asia/Shanghai
    ports:
      - "8080:8080"

 

2.启动
cd /opt/zabbix-server
docker compose up -d

 

3.浏览器登录
http://192.168.1.102:8080
账号密码为Admin/zabbix

 

 

##############################zabbix-proxy 7.0#######################
1.准备docker-compose.yml配置文件
工作目录:/opt/zabbix-proxy
mkdir -p /opt/zabbix-proxy/mysql_proxy_data ##mysql数据目录
vi /opt/zabbix-proxy/docker-compose.yml

version: '3.8'

services:
  mysql-proxy:
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/mysql:8.0.46
    container_name: zabbix-mysql-proxy
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: ZbxProxy@Root123
      MYSQL_DATABASE: zabbix_proxy
      MYSQL_USER: zabbix_proxy
      MYSQL_PASSWORD: ZbxProxy@Db123
    volumes:
      - ./mysql_proxy_data:/var/lib/mysql
    ports:
      - "3306:3306"
    command:
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_unicode_ci

  zabbix-proxy-mysql:
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/zabbix-proxy-mysql:7.0.29-ubuntu
    container_name: zabbix-proxy
    restart: always
    depends_on:
      - mysql-proxy
    environment:
      DB_SERVER_HOST: mysql-proxy
      MYSQL_DATABASE: zabbix_proxy
      MYSQL_USER: zabbix_proxy
      MYSQL_PASSWORD: ZbxProxy@Db123
      MYSQL_ROOT_PASSWORD: ZbxProxy@Root123
      ## 关键:指向zabbix server物理IP
      ZBX_SERVER_HOST: 192.168.1.102
      ZBX_SERVER_PORT: 10051
      ## proxy名称,后面web页面要填这个名字
      ZBX_HOSTNAME: zabbix-proxy
      ZBX_PROXYMODE: 0   # 0=主动proxy;1=被动proxy,这里用主动
    ports:
      - "10051:10051"
    volumes:
      - ./externalscripts:/usr/lib/zabbix/externalscripts

 

2.启用
cd /opt/zabbix-proxy
docker compose up -d

 

3.在zabbix server 控制台添加zabbix agent

 

 

image

 过一会会有如下显示

 

 

image

 

posted @ 2026-08-06 10:50  slnngk  阅读(4)  评论(0)    收藏  举报