5 Installatie vanuit containers

Overzicht

Dit gedeelte beschrijft hoe je Zabbix kunt implementeren met Docker of Docker Compose.

Zabbix biedt officieel:

  • Afzonderlijke Docker-images voor elk Zabbix-component om te draaien als draagbare en zelfvoorzienende containers.
  • Compose-bestanden om multi-container Zabbix-componenten in Docker te definiëren en uit te voeren.

Sinds Zabbix 6.0 moeten deterministische triggers worden aangemaakt tijdens de installatie. Als binaire logging is ingeschakeld voor MySQL/MariaDB, zijn hiervoor supergebruikersrechten nodig of moet de variabele/configuratieparameter log_bin_trust_function_creators = 1 worden ingesteld. Raadpleeg Databasecreatie-scripts voor instructies over hoe je de variabele kunt instellen.
Merk op dat als je het vanuit een console uitvoert, de variabele slechts tijdelijk wordt ingesteld en wordt verwijderd wanneer een Docker opnieuw wordt gestart. In dat geval houd je je SQL-service actief, stop je alleen de zabbix-server-service door 'docker compose down zabbix-server' uit te voeren en vervolgens 'docker compose up -d zabbix-server'. Als alternatief kun je deze variabele instellen in het configuratiebestand.

Docker

Zabbix biedt afbeeldingen op basis van verschillende basis-OS-afbeeldingen. Voor een lijst van ondersteunde basisbesturingssysteemafbeeldingen voor een specifiek Zabbix-component, zie de beschrijving van het component op Docker Hub. Alle Zabbix-afbeeldingen zijn geconfigureerd om de nieuwste afbeeldingen opnieuw op te bouwen als de basisafbeeldingen worden bijgewerkt.

Installatie

Om een Zabbix-componentafbeelding te krijgen, voer je het volgende uit:

docker pull zabbix/zabbix-server-mysql

Vervang zabbix/zabbix-server-mysql door de naam van het vereiste Docker-repository.

Deze opdracht zal de nieuwste stabiele versie van het Zabbix-component ophalen op basis van het Alpine Linux-besturingssysteem. Je kunt tags aan de naam van het repository toevoegen om een afbeelding te krijgen op basis van een ander besturingssysteem of van een specifieke Zabbix-hoofd- of subversie.

De volgende repositories zijn beschikbaar op Docker Hub:

Component Docker-repository
Zabbix-agent zabbix/zabbix-agent
Zabbix-server
met MySQL-ondersteuning zabbix/zabbix-server-mysql
met PostgreSQL-ondersteuning zabbix/zabbix-server-pgsql
Zabbix-webinterface
gebaseerd op Apache2-webserver met MySQL-ondersteuning zabbix/zabbix-web-apache-mysql
gebaseerd op Apache2-webserver met PostgreSQL-ondersteuning zabbix/zabbix-web-apache-pgsql
gebaseerd op Nginx-webserver met MySQL-ondersteuning zabbix/zabbix-web-nginx-mysql
gebaseerd op Nginx-webserver met PostgreSQL-ondersteuning zabbix/zabbix-web-nginx-pgsql
Zabbix-proxy
met SQLite3-ondersteuning zabbix/zabbix-proxy-sqlite3
met MySQL-ondersteuning zabbix/zabbix-proxy-mysql
Zabbix Java-gateway zabbix/zabbix-java-gateway

SNMP trap-ondersteuning wordt geleverd in een apart repository zabbix/zabbix-snmptraps. Het kan worden gekoppeld aan Zabbix-server en Zabbix-proxy.

Tags

Officiële Zabbix component images kunnen de volgende tags bevatten:

Tag Beschrijving Voorbeeld
latest De nieuwste stabiele versie van een Zabbix-component gebaseerd op een Alpine Linux-image. zabbix-agent:latest
<OS>-trunk De nieuwste nightly build van de momenteel in ontwikkeling zijnde Zabbix-versie op een specifiek besturingssysteem.

<OS> - het basisbesturingssysteem. Ondersteunde waarden:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019 (alleen agent);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022 (alleen agent);
ubuntu - Ubuntu
zabbix agent:ubuntu-trunk
<OS>-latest De nieuwste stabiele versie van een Zabbix-component op een specifiek besturingssysteem.

<OS> - het basisbesturingssysteem. Ondersteunde waarden:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019 (alleen agent);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022 (alleen agent);
ubuntu - Ubuntu
zabbix-agent:ol-latest
<OS>-X.X-latest De nieuwste minor-versie van een Zabbix-component van een specifieke major-versie en besturingssysteem.

<OS> - het basisbesturingssysteem. Ondersteunde waarden:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019 (alleen agent);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022 (alleen agent);
ubuntu - Ubuntu

X.X - de major Zabbix-versie (bijv. 5.0, 6.0, 6.4).
zabbix-agent:alpine-6.4-latest
<OS>-X.X.* De nieuwste minor-versie van een Zabbix-component van een specifieke major-versie en besturingssysteem.

<OS> - het basisbesturingssysteem. Ondersteunde waarden:
alpine - Alpine Linux;
ltsc2019 - Windows 10 LTSC 2019 (alleen agent);
ol - Oracle Linux;
ltsc2022 - Windows 11 LTSC 2022 (alleen agent);
ubuntu - Ubuntu

X.X - de major Zabbix-versie (bijv. 5.0, 6.0, 6.4).

* - de Zabbix minor-versie
zabbix-agent:alpine-6.4.1

Bronbestanden

Docker-bestandsbronnen worden opgeslagen in het Zabbix officiële repository op GitHub, waar je de nieuwste bestandswijzigingen kunt volgen of het project kunt forkken om je eigen afbeeldingen te maken.

Initiële configuratie

Na het downloaden van de afbeeldingen start je de containers door het uitvoeren van het docker run-commando, gevolgd door aanvullende argumenten om de vereiste omgevingsvariabelen en/of koppelingspunten op te geven. Hieronder worden enkele configuratievoorbeelden gegeven.

Om communicatie tussen Zabbix-componenten mogelijk te maken, worden enkele poorten, zoals 10051/TCP voor Zabbix-server (trapper), 10050/TCP voor Zabbix-agent, 162/UDP voor SNMP-traps en 80/TCP voor Zabbix-webinterface, blootgesteld aan de hostmachine. Een volledige lijst van standaardpoorten die door Zabbix-componenten worden gebruikt, is beschikbaar op de Vereisten pagina. Voor Zabbix-server en -agent kan de standaardpoort worden gewijzigd door de omgevingsvariabele ZBX_LISTENPORT in te stellen.

Omgevingsvariabelen

Alle Zabbix-componentafbeeldingen bieden omgevingsvariabelen om de configuratie te beheersen. Ondersteunde omgevingsvariabelen worden vermeld in het componentrepository.

Deze omgevingsvariabelen zijn opties uit Zabbix-configuratiebestanden, maar met een andere benamingsmethode. Bijvoorbeeld, ZBX_LOGSLOWQUERIES is gelijk aan LogSlowQueries uit de Zabbix server en Zabbix proxy configuratiebestanden.

Sommige configuratieopties kunnen niet worden gewijzigd. Bijvoorbeeld, PIDFile en LogType.

De volgende omgevingsvariabelen zijn specifiek voor Docker-componenten en bestaan niet in Zabbix-configuratiebestanden:

Variabele Componenten Standaardwaarde Beschrijving
DB_SERVER_HOST Server
Proxy
Web-interface
mysql-server voor MYSQL
postgres-server voor PostgreSQL
IP- of DNS-naam van de MySQL- of PostgreSQL-server.
DB_SERVER_PORT Server
Proxy
Web-interface
3306 voor MYSQL
5432 voor PostgreSQL
Poort van de MySQL- of PostgreSQL-server.
MYSQL_USER Server
Proxy
Web-interface
zabbix Gebruikersnaam van de MySQL-database.
MYSQL_PASSWORD Server
Proxy
Web-interface
zabbix Wachtwoord van de MySQL-database.
MYSQL_DATABASE Server
Proxy
Web-interface
zabbix voor Zabbix-server
'zabbix_proxy' voor Zabbix-proxy
Naam van de Zabbix-database.
POSTGRES_USER Server
Web-interface
zabbix Gebruikersnaam van de PostgreSQL-database.
POSTGRES_PASSWORD Server
Web-interface
zabbix Wachtwoord van de PostgreSQL-database.
POSTGRES_DB Server
Web-interface
zabbix voor Zabbix-server
'zabbix_proxy' voor Zabbix-proxy
Naam van de Zabbix-database.
PHP_TZ Web-interface Europe/Riga Tijdzone in PHP-formaat. Een volledige lijst van ondersteunde tijdzones is beschikbaar op php.net.
ZBX_SERVER_NAME Web-interface Zabbix Docker Zichtbare naam van de Zabbix-installatie in de rechterbovenhoek van de webinterface.
ZBX_JAVAGATEWAY_ENABLE Server
Proxy
false Schakelt communicatie met Zabbix Java-gateway in om Java-gerelateerde controles te verzamelen.
ZBX_ENABLE_SNMP_TRAPS Server
Proxy
Schakelt SNMP-trapfunctie in. Het vereist een zabbix-snmptraps-instantie en een gedeelde volume /var/lib/zabbix/snmptraps naar Zabbix-server of Zabbix-proxy.
Volumes

De afbeeldingen maken het mogelijk om volumes te koppelen met behulp van de volgende koppelpunten:

Volume Beschrijving
Zabbix agent
/etc/zabbix/zabbix_agentd.d Het volume maakt het mogelijk om *.conf-bestanden op te nemen en de Zabbix-agent uit te breiden met behulp van de UserParameter-functie
/var/lib/zabbix/modules Het volume maakt het mogelijk om aanvullende modules te laden en de Zabbix-agent uit te breiden met behulp van de LoadModule-functie
/var/lib/zabbix/enc Het volume wordt gebruikt om TLS-gerelateerde bestanden op te slaan. Deze bestandsnamen worden gespecificeerd met behulp van de omgevingsvariabelen ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILE en ZBX_TLSPSKFILE
Zabbix server
/usr/lib/zabbix/alertscripts Het volume wordt gebruikt voor aangepaste waarschuwingsscripts. Het is de parameter AlertScriptsPath in zabbix_server.conf
/usr/lib/zabbix/externalscripts Het volume wordt gebruikt door externe checks. Het is de parameter ExternalScripts in zabbix_server.conf
/var/lib/zabbix/modules Het volume maakt het mogelijk om aanvullende modules te laden en de Zabbix-server uit te breiden met behulp van de LoadModule-functie
/var/lib/zabbix/enc Het volume wordt gebruikt om TLS-gerelateerde bestanden op te slaan. Deze bestandsnamen worden gespecificeerd met behulp van de omgevingsvariabelen ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILE en ZBX_TLSPSKFILE
/var/lib/zabbix/ssl/certs Het volume wordt gebruikt als locatie voor SSL-clientcertificaatbestanden voor clientauthenticatie. Het is de parameter SSLCertLocation in zabbix_server.conf
/var/lib/zabbix/ssl/keys Het volume wordt gebruikt als locatie voor SSL-privésleutelbestanden voor clientauthenticatie. Het is de parameter SSLKeyLocation in zabbix_server.conf
/var/lib/zabbix/ssl/ssl_ca Het volume wordt gebruikt als locatie voor certificaatautoriteit (CA)-bestanden voor SSL-servercertificaatverificatie. Het is de parameter SSLCALocation in zabbix_server.conf
/var/lib/zabbix/snmptraps Het volume wordt gebruikt als locatie voor het bestand snmptraps.log. Het kan worden gedeeld door de zabbix-snmptraps-container en worden geërfd met behulp van de Docker-optie volumes_from bij het maken van een nieuwe instantie van de Zabbix-server. De functie voor het verwerken van SNMP-traps kan worden ingeschakeld met een gedeeld volume en door de omgevingsvariabele ZBX_ENABLE_SNMP_TRAPS te schakelen naar 'true'
/var/lib/zabbix/mibs Het volume maakt het mogelijk om nieuwe MIB-bestanden toe te voegen. Het ondersteunt geen submappen, alle MIB's moeten worden geplaatst in /var/lib/zabbix/mibs
Zabbix proxy
/usr/lib/zabbix/externalscripts Het volume wordt gebruikt door externe checks. Het is de parameter ExternalScripts in zabbix_proxy.conf
/var/lib/zabbix/db_data/ Het volume maakt het mogelijk om databasebestanden op externe apparaten op te slaan. Alleen ondersteund voor Zabbix proxy met SQLite3
/var/lib/zabbix/modules Het volume maakt het mogelijk om aanvullende modules te laden en de Zabbix-server uit te breiden met behulp van de LoadModule-functie
/var/lib/zabbix/enc Het volume wordt gebruikt om TLS-gerelateerde bestanden op te slaan. Deze bestandsnamen worden gespecificeerd met behulp van de omgevingsvariabelen ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILE en ZBX_TLSPSKFILE
/var/lib/zabbix/ssl/certs Het volume wordt gebruikt als locatie voor SSL-clientcertificaatbestanden voor clientauthenticatie. Het is de parameter SSLCertLocation in zabbix_proxy.conf
/var/lib/zabbix/ssl/keys Het volume wordt gebruikt als locatie voor SSL-privésleutelbestanden voor clientauthenticatie. Het is de parameter SSLKeyLocation in zabbix_proxy.conf
/var/lib/zabbix/ssl/ssl_ca Het volume wordt gebruikt als locatie voor certificaatautoriteit (CA)-bestanden voor SSL-servercertificaatverificatie. Het is de parameter SSLCALocation in zabbix_proxy.conf
/var/lib/zabbix/snmptraps Het volume wordt gebruikt als locatie voor het bestand snmptraps.log. Het kan worden gedeeld door de zabbix-snmptraps-container en worden geërfd met behulp van de Docker-optie volumes_from bij het maken van een nieuwe instantie van de Zabbix-server. De functie voor het verwerken van SNMP-traps kan worden ingeschakeld met een gedeeld volume en door de omgevingsvariabele ZBX_ENABLE_SNMP_TRAPS te schakelen naar 'true'
/var/lib/zabbix/mibs Het volume maakt het mogelijk om nieuwe MIB-bestanden toe te voegen. Het ondersteunt geen submappen, alle MIB's moeten worden geplaatst in /var/lib/zabbix/mibs
Zabbix webinterface gebaseerd op Apache2-webserver
/etc/ssl/apache2 Het volume maakt het mogelijk om HTTPS in te schakelen voor de Zabbix-webinterface. Het volume moet de twee ssl.crt- en ssl.key-bestanden bevatten die zijn voorbereid voor Apache2 SSL-verbindingen
Zabbix webinterface gebaseerd op Nginx-webserver
/etc/ssl/nginx Het volume maakt het mogelijk om HTTPS in te schakelen voor de Zabbix-webinterface. Het volume moet de twee ssl.crt-, ssl.key-bestanden en dhparam.pem bevatten die zijn voorbereid voor Nginx SSL-verbindingen
Zabbix snmptraps
/var/lib/zabbix/snmptraps Het volume bevat het logbestand snmptraps.log met de naam van ontvangen SNMP-traps
/var/lib/zabbix/mibs Het volume maakt het mogelijk om nieuwe MIB-bestanden toe te voegen. Het ondersteunt geen submappen, alle MIB's moeten worden geplaatst in /var/lib/zabbix/mibs

Voor aanvullende informatie kunt u de officiële Zabbix-repositories in Docker Hub raadplegen.

Voorbeelden

Voorbeeld 1

Dit voorbeeld laat zien hoe je Zabbix-server met MySQL-databaseondersteuning, de Zabbix-webinterface gebaseerd op de Nginx-webserver en de Zabbix Java Gateway kunt uitvoeren.

  1. Maak een netwerk aan dat is toegewijd aan containers voor Zabbix-componenten:

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

  2. Start een lege MySQL-serverinstantie:

    # 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.0-oracle
    --character-set-server=utf8 --collation-server=utf8_bin
    --default-authentication-plugin=mysql_native_password

  3. Start een Zabbix Java Gateway-instantie:

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

  4. Start een Zabbix-serverinstantie en koppel de instantie aan de gemaakte MySQL-serverinstantie:

    # 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-6.4-latest

  5. Start de Zabbix-webinterface en koppel de instantie aan de gemaakte MySQL-server- en Zabbix-serverinstanties:

    # 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-6.4-latest

Voorbeeld 2

Dit voorbeeld laat zien hoe je Zabbix-server met PostgreSQL-databaseondersteuning, de Zabbix-webinterface gebaseerd op de Nginx-webserver en SNMP-trapfunctionaliteit kunt uitvoeren.

  1. Maak een netwerk aan dat is toegewijd aan containers voor Zabbix-componenten:

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

  2. Start een lege PostgreSQL-serverinstantie:

    # 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. Start een Zabbix snmptraps-instantie:

    # 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-6.4-latest

  4. Start een Zabbix-serverinstantie en koppel de instantie aan de gemaakte PostgreSQL-serverinstantie:

    # 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-6.4-latest

  5. Start de Zabbix-webinterface en koppel de instantie aan de gemaakte PostgreSQL-server- en Zabbix-serverinstanties:

    # 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-6.4-latest

Voorbeeld 3

Dit voorbeeld laat zien hoe je Zabbix-server met MySQL-databaseondersteuning, de Zabbix-webinterface gebaseerd op de Nginx-webserver en de Zabbix Java Gateway kunt uitvoeren met podman op Red Hat 8.

  1. Maak een nieuwe pod met de naam zabbix en open poorten (webinterface, Zabbix-server trapper):

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

  2. (optioneel) Start de Zabbix-agentcontainer op de locatie van de zabbix-pod:

    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-64:latest

  3. Maak de ./mysql/-directory aan op de host

en start Oracle MySQL-server 8.0:

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.0 \
             --character-set-server=utf8 --collation-server=utf8_bin \
             --default-authentication-plugin=mysql_native_password
  1. Start de Zabbix-servercontainer:

    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-64

  2. Start de Zabbix Java Gateway-container:

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

  3. Start de Zabbix-webinterface-container:

    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-64

De pod zabbix opent poort 80/TCP (HTTP) naar de hostmachine vanaf poort 8080/TCP van de container zabbix-web-mysql.

Docker Compose

Als alternatief kan Zabbix worden geïnstalleerd met behulp van de Docker Compose-plugin. Samenstellingsbestanden voor het definiëren en uitvoeren van Zabbix-componenten in meerdere containers zijn beschikbaar in de officiële Zabbix Docker-repository op GitHub.

De officiële Zabbix-composebestanden ondersteunen versie 3 van Docker Compose.

Deze samenstellingsbestanden zijn toegevoegd als voorbeelden; ze zijn overlappend. Zo bevatten ze proxies met zowel MySQL- als SQLite3-ondersteuning.

Om Docker Compose-bestanden van Zabbix te verkrijgen, kloon je de repository:

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

Schakel over naar de gewenste versie:

git checkout 6.4

Configureer samenstellingsbestanden, maak containers aan en start ze:

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

Vervang docker-compose_v3_alpine_mysql_latest.yaml in het bovenstaande commando door het gewenste configuratiebestand.

De volgende opties zijn beschikbaar:

Bestandsnaam Beschrijving
docker-compose_v3_alpine_mysql_latest.yaml Het samenstellingsbestand voert de nieuwste versie van Zabbix 6.4-componenten uit op Alpine Linux met MySQL-databaseondersteuning.
docker-compose_v3_alpine_mysql_local.yaml Het samenstellingsbestand bouwt lokaal de nieuwste versie van Zabbix 6.4 en voert Zabbix-componenten uit op Alpine Linux met MySQL-databaseondersteuning.
docker-compose_v3_alpine_pgsql_latest.yaml Het samenstellingsbestand voert de nieuwste versie van Zabbix 6.4-componenten uit op Alpine Linux met PostgreSQL-databaseondersteuning.
docker-compose_v3_alpine_pgsql_local.yaml Het samenstellingsbestand bouwt lokaal de nieuwste versie van Zabbix 6.4 en voert Zabbix-componenten uit op Alpine Linux met PostgreSQL-databaseondersteuning.
docker-compose_v3_ol_mysql_latest.yaml Het samenstellingsbestand voert de nieuwste versie van Zabbix 6.4-componenten uit op Oracle Linux met MySQL-databaseondersteuning.
docker-compose_v3_ol_mysql_local.yaml Het samenstellingsbestand bouwt lokaal de nieuwste versie van Zabbix 6.4 en voert Zabbix-componenten uit op Oracle Linux met MySQL-databaseondersteuning.
docker-compose_v3_ol_pgsql_latest.yaml Het samenstellingsbestand voert de nieuwste versie van Zabbix 6.4-componenten uit op Oracle Linux met PostgreSQL-databaseondersteuning.
docker-compose_v3_ol_pgsql_local.yaml Het samenstellingsbestand bouwt lokaal de nieuwste versie van Zabbix 6.4 en voert Zabbix-componenten uit op Oracle Linux met PostgreSQL-databaseondersteuning.
docker-compose_v3_ubuntu_mysql_latest.yaml Het samenstellingsbestand voert de nieuwste versie van Zabbix 6.4-componenten uit op Ubuntu 20.04 met MySQL-databaseondersteuning.
docker-compose_v3_ubuntu_mysql_local.yaml Het samenstellingsbestand bouwt lokaal de nieuwste versie van Zabbix 6.4 en voert Zabbix-componenten uit op Ubuntu 20.04 met MySQL-databaseondersteuning.
docker-compose_v3_ubuntu_pgsql_latest.yaml Het samenstellingsbestand voert de nieuwste versie van Zabbix 6.4-componenten uit op Ubuntu 20.04 met PostgreSQL-databaseondersteuning.
docker-compose_v3_ubuntu_pgsql_local.yaml Het samenstellingsbestand bouwt lokaal de nieuwste versie van Zabbix 6.4 en voert Zabbix-componenten uit op Ubuntu 20.04 met PostgreSQL-databaseondersteuning.

Opslag

Compose-bestanden zijn geconfigureerd om lokale opslag op een hostmachine te ondersteunen. Docker Compose zal een zbx_env-map aanmaken in de map met het compose-bestand wanneer je Zabbix-componenten uitvoert met behulp van het compose-bestand. De map zal dezelfde structuur bevatten als beschreven in de Volumes-sectie en de map voor database-opslag.

Er zijn ook volumes in alleen-lezen modus voor de bestanden /etc/localtime en /etc/timezone.

Omgevingsvariabelen

De variabele bestanden hebben de volgende naamstructuur: .env_<type component> en bevinden zich in de env_vars map. Zie omgevingsvariabelen voor details over de benaming van variabelen en de beschikbare selecties.

Voorbeelden

Voorbeeld 1

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

Deze opdracht zal de nieuwste Zabbix 6.4-images downloaden voor elk Zabbix-component en ze in detach-modus uitvoeren.

Vergeet niet om .env_<type of component>-bestanden te downloaden van de officiële Zabbix repository op GitHub met samenstellingsbestanden.

Voorbeeld 2

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

Deze opdracht zal het basisbeeld Ubuntu 22.04 (jammy) downloaden, vervolgens Zabbix 6.4-componenten lokaal bouwen en ze in detach-modus uitvoeren.