……

使用docker部署zabbix 5.4

一、拉取镜像

1.docker pull mysql:8.0
2.docker pull zabbix/zabbix-web-nginx-mysql:alpine-5.4-latest
3.docker pull zabbix/zabbix-agent:alpine-5.4-latest 
4.docker pull zabbix/zabbix-server-mysql:alpine-5.4-latest
5.docker pull zabbix/zabbix-java-gateway:alpine-5.4-latest

二、创建docker compose文件,创建文件名 docker-compose-zabbix.yml

version: '3.8'  # 必须声明版本 
services:
  mysql-server:
    image: mysql:8.0 
    container_name: mysql-server 
    environment:
      - MYSQL_DATABASE=zabbix 
      - MYSQL_USER=zabbix 
      - MYSQL_PASSWORD=zabbix_pwd 
      - MYSQL_ROOT_PASSWORD=root_pwd 
    volumes:
      - mysql-data:/var/lib/mysql 
    command: 
      - --character-set-server=utf8 
      - --collation-server=utf8_bin 
      - --default-authentication-plugin=mysql_native_password 
    networks:
      - zabbix-net 
 
  zabbix-server-mysql:
    image: zabbix/zabbix-server-mysql:alpine-5.4-latest 
    container_name: zabbix-server-mysql 
    ports:
      - "10051:10051"
    environment:
      - DB_SERVER_HOST=mysql-server 
      - MYSQL_DATABASE=zabbix 
      - MYSQL_USER=zabbix 
      - MYSQL_PASSWORD=zabbix_pwd 
      - MYSQL_ROOT_PASSWORD=root_pwd 
      - ZBX_JAVAGATEWAY_ENABLE=true 
      - ZBX_STARTPOLLERS=5 
      - ZBX_STARTTRAPPERS=5 
      - ZBX_TIMEOUT=4 
    volumes:
      - /etc/localtime:/etc/localtime:ro 
      - /etc/timezone:/etc/timezone:ro 
    networks:
      - zabbix-net 
    depends_on:
      - mysql-server 
 
  zabbix-web-nginx-mysql:
    image: zabbix/zabbix-web-nginx-mysql:alpine-5.4-latest 
    container_name: zabbix-web-nginx-mysql 
    ports:
      - "8080:8080"
    environment:
      - ZBX_SERVER_HOST=zabbix-server-mysql 
      - DB_SERVER_HOST=mysql-server 
      - MYSQL_DATABASE=zabbix 
      - MYSQL_USER=zabbix 
      - MYSQL_PASSWORD=zabbix_pwd 
      - MYSQL_ROOT_PASSWORD=root_pwd 
    volumes:
      - zabbix_web_ssl:/etc/ssl 
      - zabbix_web_config:/etc/zabbix 
    networks:
      - zabbix-net 
    depends_on:
      - mysql-server 
      - zabbix-server-mysql 
 
  zabbix-agent:
    image: zabbix/zabbix-agent:alpine-5.4-latest 
    container_name: zabbix-agent 
    ports:
      - "10050:10050"
    environment:
      - ZBX_HOSTNAME=zabbix-agent 
      - ZBX_SERVER_HOST=zabbix-server-mysql 
      - ZBX_SERVER_PORT=10051 
    networks:
      - zabbix-net 
    depends_on:
      - zabbix-server-mysql 
 
  zabbix-java-gateway:
    image: zabbix/zabbix-java-gateway:latest 
    container_name: zabbix-java-gateway 
    restart: unless-stopped 
    ports:
      - "10052:10052"
    environment:
      - ZBX_JAVAGATEWAY_ENABLE=true 
      - ZBX_JAVAGATEWAY=0.0.0.0 
      - ZBX_JAVAGATEWAYPORT=10052 
      - ZBX_STARTJAVAPOLLERS=5 
    networks:
      - zabbix-net 
 
volumes:
  mysql-data:
  zabbix_web_ssl:
  zabbix_web_config:
 
networks:
  zabbix-net:
    driver: bridge 

三、在当前文件路径中运行容器

docker compose -f docker-compose-zabbix.yml up -d

 四、登录网站

  • 访问地址:http://localhost:8080/

  • 登录账号:Admin

  • 登录密码:zabbix

五、初始化数据库,进入 zabbix-server-mysql 容器,在路径/usr/share/doc/zabbix-server-mysql下执行 gunzip < create.sql.gz | mysql -u root -p"root_pwd" zabbix

docker exec -u root -it zabbix-server-mysql /bin/bash
cd /usr/share/doc/zabbix-server-mysql
gunzip < create.sql.gz | mysql -h mysql-server -u root -p"root_pwd" zabbix

六、修改字体

方法一:docker cp graphfont.ttf zabbix-web-nginx-mysql:/usr/share/zabbix/assets/fonts/
方法二:
docker exec -u root -it zabbix-web-nginx-mysql /bin/bash
cp graphfont.ttf /usr/share/zabbix/assets/fonts/

 

posted @ 2025-06-20 14:52  十零  阅读(52)  评论(0)    收藏  举报