Installation à partir de conteneurs

Aperçu

Cette section décrit comment déployer Zabbix avec Docker ou Docker Compose.

Zabbix fournit officiellement :

  • Des images Docker distinctes pour chaque composant Zabbix afin de les exécuter comme des conteneurs portables et autonomes.
  • Des fichiers Compose pour définir et exécuter des composants Zabbix multi-conteneurs dans Docker.

Depuis Zabbix 6.0, les déclencheurs déterministes doivent être créés pendant l'installation. Si la journalisation binaire est activée pour MySQL/MariaDB, cela nécessite des privilèges de superutilisateur ou la définition de la variable/du paramètre de configuration log_bin_trust_function_creators = 1. Consultez Scripts de création de la base de données pour savoir comment définir la variable.
Notez que si elle est exécutée depuis une console, la variable ne sera définie que temporairement et sera supprimée lors du redémarrage d'un Docker. Dans ce cas, laissez votre service SQL en cours d'exécution, arrêtez uniquement le service zabbix-server en exécutant 'docker compose down zabbix-server', puis 'docker compose up -d zabbix-server'.
Vous pouvez également définir cette variable dans le fichier de configuration.

Fichiers source

Les sources des fichiers Docker sont stockées dans le dépôt officiel de Zabbix sur GitHub, où vous pouvez suivre les dernières modifications des fichiers ou bifurquer le projet pour créer vos propres images.

Docker

Zabbix fournit des images basées sur une variété d’images de base de systèmes d’exploitation. Pour obtenir la liste des images de base de systèmes d’exploitation prises en charge pour un composant Zabbix spécifique, consultez la description du composant sur Docker Hub. Toutes les images Zabbix sont configurées pour reconstruire les dernières images si les images de base sont mises à jour.

Installation

Pour obtenir l’image d’un composant Zabbix, exécutez :

docker pull zabbix/zabbix-server-mysql

Remplacez zabbix/zabbix-server-mysql par le nom du dépôt Docker requis.

Cette commande récupérera la dernière version stable du composant Zabbix basée sur le système d’exploitation Alpine Linux. Vous pouvez ajouter des tags au nom du dépôt pour obtenir une image basée sur un autre système d’exploitation ou sur une version majeure ou mineure spécifique de Zabbix.

Les dépôts suivants sont disponibles sur Docker Hub :

Composant Dépôt Docker
Agent Zabbix zabbix/zabbix-agent
Serveur Zabbix
avec prise en charge de MySQL zabbix/zabbix-server-mysql
avec prise en charge de PostgreSQL zabbix/zabbix-server-pgsql
Interface web Zabbix
basée sur le serveur web Apache2 avec prise en charge de MySQL zabbix/zabbix-web-apache-mysql
basée sur le serveur web Apache2 avec prise en charge de PostgreSQL zabbix/zabbix-web-apache-pgsql
basée sur le serveur web Nginx avec prise en charge de MySQL zabbix/zabbix-web-nginx-mysql
basée sur le serveur web Nginx avec prise en charge de PostgreSQL zabbix/zabbix-web-nginx-pgsql
Proxy Zabbix
avec prise en charge de SQLite3 zabbix/zabbix-proxy-sqlite3
avec prise en charge de MySQL zabbix/zabbix-proxy-mysql
Java gateway Zabbix zabbix/zabbix-java-gateway

La prise en charge des traps SNMP est fournie dans un dépôt distinct zabbix/zabbix-snmptraps. Il peut être lié au serveur Zabbix et au proxy Zabbix.

Tags

Les images officielles des composants Zabbix peuvent contenir les tags suivants :

Tag Description Exemple
latest La dernière version stable d’un composant Zabbix basée sur une image Alpine Linux. zabbix-agent:latest
<OS>-trunk La dernière build nightly de la version de Zabbix actuellement en cours de développement sur un système d’exploitation spécifique.

<OS> - le système d’exploitation de base. Valeurs prises en charge :
alpine - Alpine Linux ;
ltsc2019 - Windows 10 LTSC 2019 (agent uniquement) ;
ol - Oracle Linux ;
ltsc2022 - Windows 11 LTSC 2022 (agent uniquement) ;
ubuntu - Ubuntu
zabbix-agent:ubuntu-trunk
<OS>-latest La dernière version stable d’un composant Zabbix sur un système d’exploitation spécifique.

<OS> - le système d’exploitation de base. Valeurs prises en charge :
alpine - Alpine Linux ;
ltsc2019 - Windows 10 LTSC 2019 (agent uniquement) ;
ol - Oracle Linux ;
ltsc2022 - Windows 11 LTSC 2022 (agent uniquement) ;
ubuntu - Ubuntu
zabbix-agent:ol-latest
<OS>-X.X-latest La dernière version mineure d’un composant Zabbix pour une version majeure et un système d’exploitation spécifiques.

<OS> - le système d’exploitation de base. Valeurs prises en charge :
alpine - Alpine Linux ;
ltsc2019 - Windows 10 LTSC 2019 (agent uniquement) ;
ol - Oracle Linux ;
ltsc2022 - Windows 11 LTSC 2022 (agent uniquement) ;
ubuntu - Ubuntu

X.X - la version majeure de Zabbix (c.-à-d. 6.0, 7.4, 8.0).
zabbix-agent:alpine-8.0-latest
<OS>-X.X.* La version mineure spécifique d’un composant Zabbix pour une version majeure et un système d’exploitation spécifiques.

<OS> - le système d’exploitation de base. Valeurs prises en charge :
alpine - Alpine Linux ;
ltsc2019 - Windows 10 LTSC 2019 (agent uniquement) ;
ol - Oracle Linux ;
ltsc2022 - Windows 11 LTSC 2022 (agent uniquement) ;
ubuntu - Ubuntu

X.X - la version majeure de Zabbix (c.-à-d. 6.0, 7.4, 8.0).

* - la version mineure de Zabbix
zabbix-agent:alpine-8.0.1

Configuration initiale

Après avoir téléchargé les images, démarrez les conteneurs en exécutant la commande docker run, suivie d’arguments supplémentaires pour spécifier les variables d’environnement et/ou les points de montage requis. Quelques exemples de configuration sont fournis ci-dessous.

Pour activer la communication entre les composants Zabbix, certains ports, tels que 10051/TCP pour le serveur Zabbix (trapper), 10050/TCP pour l’agent Zabbix, 162/UDP pour les traps SNMP et 80/TCP pour l’interface web Zabbix, seront exposés à la machine hôte. La liste complète des ports par défaut utilisés par les composants Zabbix est disponible sur la page Requirements. Pour le serveur et l’agent Zabbix, le port par défaut peut être modifié en définissant la variable d’environnement ZBX_LISTENPORT environment variable.

Variables d'environnement

Toutes les images des composants Zabbix fournissent des variables d'environnement pour contrôler la configuration. Les variables d'environnement prises en charge sont répertoriées dans le dépôt du composant.

Ces variables d'environnement correspondent à des options des fichiers de configuration Zabbix, mais avec une méthode de nommage différente. Par exemple, ZBX_LOGSLOWQUERIES est équivalent à LogSlowQueries dans les fichiers de configuration du server Zabbix ou du proxy Zabbix.

Certaines options de configuration (par exemple, PIDFile et LogType) ne peuvent pas être modifiées.

Les variables d'environnement suivantes sont spécifiques aux composants Docker et n'existent pas dans les fichiers de configuration Zabbix :

Variable Composants Valeur par défaut Description
DB_SERVER_HOST Server
Proxy
Interface web
mysql-server pour MYSQL
postgres-server pour PostgreSQL
Nom IP ou DNS du serveur MySQL ou PostgreSQL.
DB_SERVER_PORT Server
Proxy
Interface web
3306 pour MYSQL
5432 pour PostgreSQL
Port du serveur MySQL ou PostgreSQL.
MYSQL_USER Server
Proxy
Web-interface
zabbix Utilisateur de la base de données MySQL.
MYSQL_PASSWORD Server
Proxy
Interface web
zabbix Mot de passe de la base de données MySQL.
MYSQL_DATABASE Server
Proxy
Interface web
zabbix pour le serveur Zabbix
zabbix_proxy pour le proxy Zabbix
Nom de la base de données Zabbix.
POSTGRES_USER Server
Interface web
zabbix Utilisateur de la base de données PostgreSQL.
POSTGRES_PASSWORD Server
Interface web
zabbix Mot de passe de la base de données PostgreSQL.
POSTGRES_DB Server
Interface web
zabbix pour le serveur Zabbix
zabbix_proxy pour le proxy Zabbix
Nom de la base de données Zabbix.
PHP_TZ Web-interface Europe/Riga Fuseau horaire au format PHP. La liste complète des fuseaux horaires pris en charge est disponible sur php.net.
ZBX_SERVER_NAME Interface web Zabbix Docker Nom visible de l'installation Zabbix sous le logo Zabbix dans le menu vertical de l'interface web.
ZBX_JAVAGATEWAY_ENABLE Server
Proxy
false Active la communication avec le Java gateway Zabbix pour collecter les contrôles liés à Java.
ZBX_ENABLE_SNMP_TRAPS Server
Proxy
false Active la fonctionnalité des traps SNMP. Elle nécessite une instance zabbix-snmptraps et le volume partagé /var/lib/zabbix/snmptraps vers le serveur Zabbix ou le proxy Zabbix.
Volumes

Les images permettent de monter des volumes en utilisant les points de montage suivants :

Volume Description
Zabbix agent
/etc/zabbix/zabbix_agentd.d Le volume permet d’inclure des fichiers *.conf et d’étendre Zabbix agent à l’aide de la fonctionnalité UserParameter
/var/lib/zabbix/modules Le volume permet de charger des modules supplémentaires et d’étendre Zabbix agent à l’aide de la fonctionnalité LoadModule
/var/lib/zabbix/enc Le volume est utilisé pour stocker les fichiers liés à TLS. Les noms de ces fichiers sont spécifiés à l’aide des variables d’environnement ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILE et ZBX_TLSPSKFILE
Zabbix server
/usr/lib/zabbix/alertscripts Le volume est utilisé pour les scripts d’alerte personnalisés. Il correspond au paramètre AlertScriptsPath dans zabbix_server.conf
/usr/lib/zabbix/externalscripts Le volume est utilisé par les vérifications externes. Il correspond au paramètre ExternalScripts dans zabbix_server.conf
/var/lib/zabbix/modules Le volume permet de charger des modules supplémentaires et d’étendre Zabbix server à l’aide de la fonctionnalité LoadModule
/var/lib/zabbix/enc Le volume est utilisé pour stocker les fichiers liés à TLS. Les noms de ces fichiers sont spécifiés à l’aide des variables d’environnement ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILE et ZBX_TLSPSKFILE
/var/lib/zabbix/ssl/certs Le volume est utilisé comme emplacement des fichiers de certificat client SSL pour l’authentification du client. Il correspond au paramètre SSLCertLocation dans zabbix_server.conf
/var/lib/zabbix/ssl/keys Le volume est utilisé comme emplacement des fichiers de clé privée SSL pour l’authentification du client. Il correspond au paramètre SSLKeyLocation dans zabbix_server.conf
/var/lib/zabbix/ssl/ssl_ca Le volume est utilisé comme emplacement des fichiers d’autorité de certification (CA) pour la vérification du certificat SSL du serveur. Il correspond au paramètre SSLCALocation dans zabbix_server.conf
/var/lib/zabbix/snmptraps Le volume est utilisé comme emplacement du fichier snmptraps.log. Il peut être partagé par le conteneur zabbix-snmptraps et hérité à l’aide de l’option Docker volumes_from lors de la création d’une nouvelle instance de Zabbix server. La fonctionnalité de traitement des traps SNMP peut être activée en utilisant un volume partagé et en définissant la variable d’environnement ZBX_ENABLE_SNMP_TRAPS sur 'true'
/var/lib/zabbix/mibs Le volume permet d’ajouter de nouveaux fichiers MIB. Les sous-répertoires ne sont pas pris en charge, tous les MIB doivent être placés dans /var/lib/zabbix/mibs
Zabbix proxy
/usr/lib/zabbix/externalscripts Le volume est utilisé par les vérifications externes. Il correspond au paramètre ExternalScripts dans zabbix_proxy.conf
/var/lib/zabbix/db_data/ Le volume permet de stocker les fichiers de base de données sur des périphériques externes. Pris en charge uniquement pour Zabbix proxy avec SQLite3
/var/lib/zabbix/modules Le volume permet de charger des modules supplémentaires et d’étendre Zabbix server à l’aide de la fonctionnalité LoadModule
/var/lib/zabbix/enc Le volume est utilisé pour stocker les fichiers liés à TLS. Les noms de ces fichiers sont spécifiés à l’aide des variables d’environnement ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILE et ZBX_TLSPSKFILE
/var/lib/zabbix/ssl/certs Le volume est utilisé comme emplacement des fichiers de certificat client SSL pour l’authentification du client. Il correspond au paramètre SSLCertLocation dans zabbix_proxy.conf
/var/lib/zabbix/ssl/keys Le volume est utilisé comme emplacement des fichiers de clé privée SSL pour l’authentification du client. Il correspond au paramètre SSLKeyLocation dans zabbix_proxy.conf
/var/lib/zabbix/ssl/ssl_ca Le volume est utilisé comme emplacement des fichiers d’autorité de certification (CA) pour la vérification du certificat SSL du serveur. Il correspond au paramètre SSLCALocation dans zabbix_proxy.conf
/var/lib/zabbix/snmptraps Le volume est utilisé comme emplacement du fichier snmptraps.log. Il peut être partagé par le conteneur zabbix-snmptraps et hérité à l’aide de l’option Docker volumes_from lors de la création d’une nouvelle instance de Zabbix server. La fonctionnalité de traitement des traps SNMP peut être activée en utilisant un volume partagé et en définissant la variable d’environnement ZBX_ENABLE_SNMP_TRAPS sur 'true'
/var/lib/zabbix/mibs Le volume permet d’ajouter de nouveaux fichiers MIB. Les sous-répertoires ne sont pas pris en charge, tous les MIB doivent être placés dans /var/lib/zabbix/mibs
Interface web Zabbix basée sur le serveur web Apache2
/etc/ssl/apache2 Le volume permet d’activer HTTPS pour l’interface web Zabbix. Le volume doit contenir les deux fichiers ssl.crt et ssl.key préparés pour les connexions SSL Apache2
Interface web Zabbix basée sur le serveur web Nginx
/etc/ssl/nginx Le volume permet d’activer HTTPS pour l’interface web Zabbix. Le volume doit contenir les deux fichiers ssl.crt, ssl.key et dhparam.pem préparés pour les connexions SSL Nginx
Zabbix snmptraps
/var/lib/zabbix/snmptraps Le volume contient le fichier journal snmptraps.log nommé avec les traps SNMP reçus
/var/lib/zabbix/mibs Le volume permet d’ajouter de nouveaux fichiers MIB. Les sous-répertoires ne sont pas pris en charge, tous les MIB doivent être placés dans /var/lib/zabbix/mibs

Pour plus d’informations, consultez les dépôts officiels Zabbix dans Docker Hub.

Exemples

Exemple 1

Cet exemple montre comment exécuter le serveur Zabbix avec la prise en charge de la base de données MySQL, l'interface web Zabbix basée sur le serveur web Nginx et le Java gateway Zabbix.

1. Créez un réseau dédié aux conteneurs des composants Zabbix :

docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net

2. Démarrez une instance vide du serveur MySQL :

docker run --name mysql-server -t \
    -e MYSQL_DATABASE="zabbix" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="zabbix_pwd" \
    -e MYSQL_ROOT_PASSWORD="root_pwd" \
    --network=zabbix-net \
    --restart unless-stopped \
    -d mysql:8.4-oracle \
    --character-set-server=utf8 --collation-server=utf8_bin \
    --default-authentication-plugin=caching_sha2_password

3. Démarrez une instance du Java gateway Zabbix :

docker run --name zabbix-java-gateway -t \
    --network=zabbix-net \
    --restart unless-stopped \
    -d zabbix/zabbix-java-gateway:alpine-8.0-latest

4. Démarrez une instance du serveur Zabbix et liez-la à l'instance du serveur MySQL créée :

docker run --name zabbix-server-mysql -t \
    -e DB_SERVER_HOST="mysql-server" \
    -e MYSQL_DATABASE="zabbix" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="zabbix_pwd" \
    -e MYSQL_ROOT_PASSWORD="root_pwd" \
    -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
    --network=zabbix-net \
    -p 10051:10051 \
    --restart unless-stopped \
    -d zabbix/zabbix-server-mysql:alpine-8.0-latest

5. Démarrez l'interface web Zabbix et liez-la aux instances du serveur MySQL et du serveur Zabbix créées :

docker run --name zabbix-web-nginx-mysql -t \
    -e ZBX_SERVER_HOST="zabbix-server-mysql" \
    -e DB_SERVER_HOST="mysql-server" \
    -e MYSQL_DATABASE="zabbix" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="zabbix_pwd" \
    -e MYSQL_ROOT_PASSWORD="root_pwd" \
    --network=zabbix-net \
    -p 80:8080 \
    --restart unless-stopped \
    -d zabbix/zabbix-web-nginx-mysql:alpine-8.0-latest

Exemple 2

Cet exemple montre comment exécuter le serveur Zabbix avec la prise en charge de la base de données PostgreSQL, l'interface web Zabbix basée sur le serveur web Nginx et la fonctionnalité de traps SNMP.

1. Créez un réseau dédié aux conteneurs des composants Zabbix :

docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net

2. Démarrez une instance vide du serveur PostgreSQL :

docker run --name postgres-server -t \
      -e POSTGRES_USER="zabbix" \
      -e POSTGRES_PASSWORD="zabbix_pwd" \
      -e POSTGRES_DB="zabbix" \
      --network=zabbix-net \
      --restart unless-stopped \
      -d postgres:latest

3. Démarrez une instance Zabbix snmptraps :

docker run --name zabbix-snmptraps -t \
    -v /zbx_instance/snmptraps:/var/lib/zabbix/snmptraps:rw \
    -v /var/lib/zabbix/mibs:/usr/share/snmp/mibs:ro \
    --network=zabbix-net \
    -p 162:1162/udp \
    --restart unless-stopped \
    -d zabbix/zabbix-snmptraps:alpine-8.0-latest

4. Démarrez une instance du serveur Zabbix et liez-la à l'instance du serveur PostgreSQL créée :

docker run --name zabbix-server-pgsql -t \
    -e DB_SERVER_HOST="postgres-server" \
    -e POSTGRES_USER="zabbix" \
    -e POSTGRES_PASSWORD="zabbix_pwd" \
    -e POSTGRES_DB="zabbix" \
    -e ZBX_ENABLE_SNMP_TRAPS="true" \
    --network=zabbix-net \
    -p 10051:10051 \
    --volumes-from zabbix-snmptraps \
    --restart unless-stopped \
    -d zabbix/zabbix-server-pgsql:alpine-8.0-latest

5. Démarrez l'interface web Zabbix et liez-la aux instances du serveur PostgreSQL et du serveur Zabbix créées :

docker run --name zabbix-web-nginx-pgsql -t \
    -e ZBX_SERVER_HOST="zabbix-server-pgsql" \
    -e DB_SERVER_HOST="postgres-server" \
    -e POSTGRES_USER="zabbix" \
    -e POSTGRES_PASSWORD="zabbix_pwd" \
    -e POSTGRES_DB="zabbix" \
    --network=zabbix-net \
    -p 443:8443 \
    -p 80:8080 \
    -v /etc/ssl/nginx:/etc/ssl/nginx:ro \
    --restart unless-stopped \
    -d zabbix/zabbix-web-nginx-pgsql:alpine-8.0-latest

Exemple 3

Cet exemple montre comment exécuter le serveur Zabbix avec la prise en charge de la base de données MySQL, l'interface web Zabbix basée sur le serveur web Nginx et le Java gateway Zabbix en utilisant podman sur Red Hat 8.

1. Créez un nouveau pod nommé zabbix avec les ports exposés (interface web, trapper du serveur Zabbix) :

podman pod create --name zabbix -p 80:8080 -p 10051:10051

2. (facultatif) Démarrez le conteneur de l'agent Zabbix à l'emplacement du pod zabbix :

podman run --name zabbix-agent \
  -e ZBX_SERVER_HOST="127.0.0.1,localhost" \
  --restart=always \
  --pod=zabbix \
  -d registry.connect.redhat.com/zabbix/zabbix-agent-74:latest

3. Créez le répertoire ./mysql/ sur l'hôte et démarrez Oracle MySQL server 8.4 :

podman run --name mysql-server -t \
    -e MYSQL_DATABASE="zabbix" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="zabbix_pwd" \
    -e MYSQL_ROOT_PASSWORD="root_pwd" \
    -v ./mysql/:/var/lib/mysql/:Z \
    --restart=always \
    --pod=zabbix \
    -d mysql:8.4 \
    --character-set-server=utf8 --collation-server=utf8_bin \
    --default-authentication-plugin=caching_sha2_password

4. Démarrez le conteneur du serveur Zabbix :

podman run --name zabbix-server-mysql -t \
                -e DB_SERVER_HOST="127.0.0.1" \
                -e MYSQL_DATABASE="zabbix" \
                -e MYSQL_USER="zabbix" \
                -e MYSQL_PASSWORD="zabbix_pwd" \
                -e MYSQL_ROOT_PASSWORD="root_pwd" \
                -e ZBX_JAVAGATEWAY="127.0.0.1" \
                --restart=always \
                --pod=zabbix \
                -d registry.connect.redhat.com/zabbix/zabbix-server-mysql-74

5. Démarrez le conteneur Java Gateway Zabbix :

podman run --name zabbix-java-gateway -t \
    --restart=always \
    --pod=zabbix \
    -d registry.connect.redhat.com/zabbix/zabbix-java-gateway-74

6. Démarrez le conteneur de l'interface web Zabbix :

podman run --name zabbix-web-mysql -t \
                -e ZBX_SERVER_HOST="127.0.0.1" \
                -e DB_SERVER_HOST="127.0.0.1" \
                -e MYSQL_DATABASE="zabbix" \
                -e MYSQL_USER="zabbix" \
                -e MYSQL_PASSWORD="zabbix_pwd" \
                -e MYSQL_ROOT_PASSWORD="root_pwd" \
                --restart=always \
                --pod=zabbix \
                -d registry.connect.redhat.com/zabbix/zabbix-web-mysql-74

Le pod zabbix expose le port 80/TCP (HTTP) à la machine hôte depuis le port 8080/TCP du conteneur zabbix-web-mysql.

Docker Compose

Il est également possible d’installer Zabbix à l’aide du plugin Docker Compose. Les fichiers Compose permettant de définir et d’exécuter des composants Zabbix multi-conteneurs sont disponibles dans le dépôt Docker officiel de Zabbix sur GitHub.

Les fichiers Compose officiels de Zabbix prennent en charge la version 3 de Docker Compose.

Ces fichiers Compose sont fournis à titre d’exemple ; ils sont surchargés. Par exemple, ils contiennent des proxys avec prise en charge à la fois de MySQL et de SQLite3.

Pour obtenir les fichiers Docker Compose fournis par Zabbix, clonez le dépôt :

git clone https://github.com/zabbix/zabbix-docker.git

Basculez vers la version requise :

git checkout 8.0

Configurez les fichiers Compose, puis créez et démarrez les conteneurs :

docker compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up

Remplacez docker-compose_v3_alpine_mysql_latest.yaml dans la commande ci-dessus par le fichier de configuration requis.

Les options suivantes sont disponibles :

File name Description
docker-compose_v3_alpine_mysql_latest.yaml Le fichier Compose exécute la dernière version des composants Zabbix 8.0 sur Alpine Linux avec prise en charge de la base de données MySQL.
docker-compose_v3_alpine_mysql_local.yaml Le fichier Compose construit localement la dernière version de Zabbix 8.0 et exécute les composants Zabbix sur Alpine Linux avec prise en charge de la base de données MySQL.
docker-compose_v3_alpine_pgsql_latest.yaml Le fichier Compose exécute la dernière version des composants Zabbix 8.0 sur Alpine Linux avec prise en charge de la base de données PostgreSQL.
docker-compose_v3_alpine_pgsql_local.yaml Le fichier Compose construit localement la dernière version de Zabbix 8.0 et exécute les composants Zabbix sur Alpine Linux avec prise en charge de la base de données PostgreSQL.
docker-compose_v3_ol_mysql_latest.yaml Le fichier Compose exécute la dernière version des composants Zabbix 8.0 sur Oracle Linux avec prise en charge de la base de données MySQL.
docker-compose_v3_ol_mysql_local.yaml Le fichier Compose construit localement la dernière version de Zabbix 8.0 et exécute les composants Zabbix sur Oracle Linux avec prise en charge de la base de données MySQL.
docker-compose_v3_ol_pgsql_latest.yaml Le fichier Compose exécute la dernière version des composants Zabbix 8.0 sur Oracle Linux avec prise en charge de la base de données PostgreSQL.
docker-compose_v3_ol_pgsql_local.yaml Le fichier Compose construit localement la dernière version de Zabbix 8.0 et exécute les composants Zabbix sur Oracle Linux avec prise en charge de la base de données PostgreSQL.
docker-compose_v3_ubuntu_mysql_latest.yaml Le fichier Compose exécute la dernière version des composants Zabbix 8.0 sur Ubuntu 24.04 (noble) avec prise en charge de la base de données MySQL.
docker-compose_v3_ubuntu_mysql_local.yaml Le fichier Compose construit localement la dernière version de Zabbix 8.0 et exécute les composants Zabbix sur Ubuntu 24.04 (noble) avec prise en charge de la base de données MySQL.
docker-compose_v3_ubuntu_pgsql_latest.yaml Le fichier Compose exécute la dernière version des composants Zabbix 8.0 sur Ubuntu 24.04 (noble) avec prise en charge de la base de données PostgreSQL.
docker-compose_v3_ubuntu_pgsql_local.yaml Le fichier Compose construit localement la dernière version de Zabbix 8.0 et exécute les composants Zabbix sur Ubuntu 24.04 (noble) avec prise en charge de la base de données PostgreSQL.

Stockage

Les fichiers Compose sont configurés pour prendre en charge le stockage local sur une machine hôte. Docker Compose créera un répertoire zbx_env dans le dossier contenant le fichier compose lorsque vous exécuterez les composants Zabbix à l’aide du fichier compose. Le répertoire contiendra la même structure que celle décrite dans la section Volumes, ainsi qu’un répertoire pour le stockage de la base de données.

Il existe également des volumes en mode lecture seule pour les fichiers /etc/localtime et /etc/timezone.

Variables d'environnement

Les fichiers de variables ont la structure de nommage suivante : .env_<type de composant> et sont situés dans le répertoire env_vars. Consultez les variables d'environnement pour plus de détails sur le nommage des variables et la sélection disponible.

Exemples

Exemple 1

git checkout 8.0
docker compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up -d

La commande téléchargera les dernières images Zabbix 8.0 pour chaque composant Zabbix et les exécutera en mode détaché.

N'oubliez pas de télécharger les fichiers .env_<type of component> depuis le dépôt officiel Zabbix sur github.com avec les fichiers compose.

Exemple 2

git checkout 8.0
docker compose -f ./docker-compose_v3_ubuntu_mysql_local.yaml up -d

La commande téléchargera l'image de base Ubuntu 24.04 (noble), puis construira localement les composants Zabbix 8.0 et les exécutera en mode détaché.