Docker笔记-Docker搭建最新版zabbix服务端(2023-07-31)

前言

一开始问chartgpt上,搭建的思路是对的,但命令和细节有问题,最后还是依靠StackOverflow解决的。一开始在amd的linux上搭建好docker版的zabbix,但放到arm的机器上就报错了,原因是指令集不匹配,最后跑到阿里云,买了arm的按量付费的机器,最后在arm的机器上把zabbix搭建起来了。(此篇博文公开到互联网上的时间为:2023-11-27)

搭建流程

在docker中搭建zabbix服务端需要3个镜像:

  1. 数据库镜像:用于存储zabbix的相关数据;
  1. zabbix服务端:开放10051端口,后期的,客户端就是连到服务端的这个程序上;
  1. zabbix前端:也就是对应的web页面。

具体步骤如下:

  1. 安装docker3个镜像:
    docker pull mysql:latest
    docker pull zabbix/zabbix-server-mysql:latest
    docker pull zabbix/zabbix-web-nginx-mysql:latest

  2. 创建Docker网络:为了让Zabbix容器之间能够相互通信,我们需要创建一个Docker网络。执行以下命令:
    docker network create zabbix_network

  3. 创建MySQL容器:
    docker run --name zabbix-db -t \
        -p 3306:3306 \
        -e MYSQL_DATABASE="zabbix" \
        -e MYSQL_USER="zabbix" \
        -e MYSQL_PASSWORD="zabbix_pwd" \
        -e MYSQL_ROOT_HOST="%" \
        -e MYSQL_ROOT_PASSWORD="root_pwd" \
        --network=zabbix_network \
        -v mysql-data22:/var/lib/mysql \
        --restart unless-stopped \
        --cap-add=sys_nice \
        -d mysql \
        --character-set-server=utf8 \
        --collation-server=utf8_bin \
        --default-authentication-plugin=mysql_native_password \
        --disable-log-bin

  4. 创建Zabbix服务器容器:
    docker run --name zabbix-server --network zabbix_network -e DB_SERVER_HOST="zabbix-db" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix_pwd" -d zabbix/zabbix-server-mysql

  5. 创建Zabbix Web容器:
    docker run --name zabbix-web-nginx-mysql -t \
      -e DB_SERVER_HOST="zabbix-db" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e ZBX_SERVER_HOST="zabbix-db" \
      -e PHP_TZ=Asia/Shanghai \
      --network zabbix_network \
      -p 8080:8080 \
      -d zabbix/zabbix-web-nginx-mysql:latest

  6. 访问Zabbix Web界面:现在可以通过浏览器访问Zabbix Web界面。在地址栏中输入http://服务器IP:8080,用户名/密码:Admin/zabbix

总结

  1. 不同cpu架构的docker镜像不能运行,如果是docker项目测试环境与生产环境的cpu架构最好一致,避免出现问题。
  1. 测试环境与生产环境的docker版本最好也保持一致。
  1. 目前(2023-07-31)chatgpt只能是一个辅助工具,他给出的解决方案大体思路是对的,但细节还有待查验,chatgpt解决不了的可以去StackOverflow去查,一般都能查到。

你可能感兴趣的:(docker,笔记,zabbix)