首页 > 其他分享 >Zabbix 的 Dockerfile 镜像

Zabbix 的 Dockerfile 镜像

时间:2025-01-10 16:32:58浏览次数:3  
标签:zabbix server Zabbix 镜像 php Dockerfile

要在 CentOS 上制作一个 ZabbixDockerfile 镜像,首先需要基于 CentOS 系统构建一个 Docker 镜像,并安装和配置 Zabbix。下面是一个简单的示例 Dockerfile,用于构建 Zabbix 监控系统的 Docker 镜像。

1. Dockerfile 说明

在这个 Dockerfile 中,我们将执行以下步骤:

  • 使用 CentOS 作为基础镜像。
  • 安装依赖项和必要的软件包。
  • 安装 Zabbix 服务器及其组件。
  • 配置并启动 Zabbix 服务。

2. Dockerfile 示例

# 使用 CentOS 作为基础镜像
FROM centos:7

# 设置维护者信息
LABEL maintainer="your-email@example.com"

# 安装 EPEL 仓库和必要的软件包
RUN yum -y install epel-release && \
    yum -y update && \
    yum -y install \
    gcc \
    make \
    curl \
    wget \
    vim \
    unzip \
    net-tools \
    git \
    httpd \
    mariadb-server \
    mariadb \
    php \
    php-mbstring \
    php-bcmath \
    php-gd \
    php-mysqlnd \
    php-xml \
    php-ldap \
    php-fpm \
    php-json \
    php-ctype \
    php-bz2 \
    php-xmlrpc \
    php-intl \
    && yum clean all

# 安装 Zabbix 仓库并安装 Zabbix 服务器
RUN rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.centos.noarch.rpm && \
    yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent

# 设置 Zabbix 配置文件路径
COPY zabbix_server.conf /etc/zabbix/zabbix_server.conf

# 启用和启动 Zabbix 服务
CMD ["bash", "-c", "zabbix_server && apachectl -D FOREGROUND"]

# Expose ports for Zabbix and Apache (HTTP port)
EXPOSE 80 10051

# 入口点:启动 Zabbix 服务器和 Web 服务
ENTRYPOINT ["bash", "-c", "zabbix_server && apachectl -D FOREGROUND"]

3. 配置文件说明

zabbix_server.conf

你可以根据你的需要自定义 zabbix_server.conf 配置文件。一般来说,Zabbix 配置文件会位于 /etc/zabbix/zabbix_server.conf,在这个文件中,你需要设置数据库连接、Zabbix Server 的一些参数等。

一个简单的 zabbix_server.conf 示例可能如下:

# Zabbix Server 配置文件

# 数据库设置
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix_password

# Zabbix 服务端口
ListenPort=10051

你需要确保 Zabbix 与数据库的连接已经配置正确,并且数据库已经创建。

4. 构建 Docker 镜像

假设你的 Dockerfilezabbix_server.conf 在同一个目录下,构建镜像的步骤如下:

  1. 在 Dockerfile 所在目录中打开终端

  2. 执行下面的命令来构建镜像:

    docker build -t zabbix-centos .
    

5. 运行容器

构建完成后,你可以通过以下命令启动容器:

docker run -d --name zabbix -p 8080:80 -p 10051:10051 zabbix-centos
  • -p 8080:80 将容器的 80 端口映射到主机的 8080 端口,供 Web 界面访问。
  • -p 10051:10051 将容器的 Zabbix 服务器端口(10051)映射到主机上。

6. 初始化数据库

在启动容器后,你需要初始化 Zabbix 的数据库。你可以通过以下步骤完成:

  1. 连接到 MySQL/MariaDB 容器

    docker exec -it <container_id_or_name> bash
    
  2. 进入 MariaDB/MySQL 数据库:

    mysql -u root -p
    

    输入密码后,执行以下命令来创建数据库并设置用户:

    CREATE DATABASE zabbix character set utf8mb4 collate utf8mb4_bin;
    CREATE USER 'zabbix'@'%' IDENTIFIED BY 'zabbix_password';
    GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%';
    FLUSH PRIVILEGES;
    exit;
    
  3. 导入 Zabbix 数据库架构:

    cd /usr/share/doc/zabbix-server-mysql-*/create.sql.gz
    zcat create.sql.gz | mysql -u zabbix -p zabbix
    
  4. 配置 zabbix_server.conf 文件中的数据库设置。

7. Zabbix Web 界面访问

在容器运行时,你可以通过浏览器访问 Web 界面,地址为:

http://<host_ip>:8080

在登录界面,你可以使用默认的 Zabbix 管理员账户:

  • 用户名:Admin
  • 密码:zabbix

8. 总结

这个 Dockerfile 创建了一个包含 Zabbix 服务器和 Web 界面的容器镜像。你可以根据需要进一步优化和自定义此镜像,如设置更加安全的密码、配置更复杂的数据库等。

标签:zabbix,server,Zabbix,镜像,php,Dockerfile
From: https://blog.csdn.net/weixin_45261442/article/details/145060768

相关文章

  • deepin-Wine 运行器合并打包器和添加从镜像提取 DLL 的功能
    Wine运行器是一个图形化工具,旨在简化Wine环境的管理和使用。它不仅提供了运行和管理Wine容器的功能,还增加了打包器和从镜像提取DLL的功能。以下是该工具的详细介绍和使用方法。一、工具概述Wine运行器是一个使用Python3的tkinter构建的图形化工具,旨在提供一个......
  • docker使用远程节点构建多平台镜像
    当在x86或arm平台使用buildx构建多平台镜像时,会发现buildx在构建与docker所在宿主机异构平台镜像包时,构建速度慢的问题。当你同时有x86和arm服务器的基础上,可以使用远程节点来构建多平台镜像包,使用远程节点构建多平台镜像的好处如下:1.无兼容性问题:在x86平台构建arm或在arm平台构......
  • linux—— 在宿主机上查看生成的ext4格式镜像文件内容
    在制作完成ext4(其他格式的也一样)格式的镜像后,想查看镜像文件的内容时,可以利用以下方法:1、在mnt路径下创建roots,这一步随便挂载到一个目录下即可sudomkdir/mnt/roots2、使用以下命令挂载sudomout-olooproots.ext4/mnt/rootsroot.ext4要挂载的文件系统/mnt/roots创建......
  • SpringCloud 解决 Docker 镜像 虚拟机网卡导致的IP 不准确的问题
    SpringCloud应用可能会使用InetAddress.getLocalHost().getHostAddress()或类似方法来获取当前机器的IP地址。但在Docker容器环境中,这种方法可能会返回容器内部的IP地址,而不是宿主机的IP地址。分布式应用部署到服务上,由于服务器可能存在多张网卡,造成IP地址不准。出......
  • 《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器
    @目录3.Docker常用命令3.1帮助启动类命令3.2镜像命令3.3有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)3.4容器命令3.4.1新建+启动容器3.4.2列出当前所有正在运行的容器3.4.3退出容器3.4.4启动已停止运行的容器3.4.5重启容器3.4.6停止容器3.4.7强制停止容器3......
  • Docker更换镜像源(2025.1最新可用镜像,全网最详细)
    文章目录前言可用镜像源汇总换源方法1-临时换源换源方法2-永久换源(推荐)常见问题及对应解决方案补充1.如何测试镜像源是否可用换源速通版(可以直接无脑复制粘贴)前言由于各种网络政策,在国内访问DockerHub速度会非常缓慢,大家一般都会采取更换镜像源的方式来进行加速。......
  • docker拉取报错/docker切换国内镜像源
    报错场景:docker从远程拉取镜像是出现的报错问题描述报错内容为Errorresponsefromdaemon:Get"https://registry-1.docker.io/v2/":net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders原因分析:国内dock......
  • Zabbix安装,配置模板监控主机(在线安装和离线安装)
    安装环境组件版本LinuxRockyLinux8ZabbixZabbix6.0MySql8.0.30(根据Zabbix6搭建时的经验,MySql版本太低的话会不兼容Zabbix,但当时的报错找不到了,所以未能在此展示)IP监控192.168.88.1&&被监控192.168.88.2安装步骤#离线安装https://repo.zabbix.com/zabbix/7.0/rocky/......
  • zabbix5.0版本 (用脚本自定义监控项+监控MySQL状态信息)
    目录1.用脚本自定义监控项(1)编写脚本进行取值(2)修改zabbix客户端配置文件(3)zabbix创建模板及监控项(4)关联至被监控主机2.监控MySQl状态信息(1)使用脚本定义监控项(2)服务端创建MySQL监控模板(3)添加触发器(4)配置图形(5)关联至被监控主机(6)测试并查看数据3.自定义监控项以及监控......
  • spring boot Linux dockerfile与Windows dockerfile区别
    在创建Dockerfile来构建SpringBoot应用程序的容器时,Dockerfile本身通常与操作系统的差异无关,因为Docker容器是跨平台的。然而,在某些情况下,可能会有一些细微的差别,这些差别主要来自于文件路径格式、换行符等操作系统之间的差异。以下是可能需要注意的几个方面:文件路径格式Windo......