Esta secci¨®n describe c¨®mo implementar Áú»¢¶Ä²© con Docker o Docker Compose.
Áú»¢¶Ä²© proporciona oficialmente:
Desde Áú»¢¶Ä²© 6.0, es necesario crear iniciadores deterministas durante la instalaci¨®n. Si el registro binario est¨¢ habilitado para MySQL/MariaDB, esto requiere privilegios de superusuario o establecer el par¨¢metro de configuraci¨®n/variable log_bin_trust_function_creators = 1. Consulte Scripts de creaci¨®n de bases de datos para obtener instrucciones sobre c¨®mo configurar la variable.
Tenga en cuenta que si se ejecuta desde una consola, la variable solo se configurar¨¢ temporalmente y se eliminar¨¢ cuando se reinicie Docker. En este caso, mantenga su servicio SQL en ejecuci¨®n, solo detenga el servicio zabbix-server ejecutando 'docker compose down zabbix-server' y luego 'docker compose up -d zabbix-server'.
Alternativamente, puede configurar esta variable en el archivo de configuraci¨®n.
Las fuentes de los archivos Docker se almacenan en el de Áú»¢¶Ä²© en GitHub donde puede seguir los ¨²ltimos cambios de archivos o bifurcar el proyecto para crear sus propias im¨¢genes.
Áú»¢¶Ä²© proporciona im¨¢genes basadas en una variedad de imagenes de sistemas operativos. Para obtener la lista de im¨¢genes del sistema operativo base compatibles para un componente Áú»¢¶Ä²© espec¨ªfico, consulte la descripci¨®n del componente en . Todas las im¨¢genes de Áú»¢¶Ä²© est¨¢n configuradas para reconstruir las im¨¢genes m¨¢s recientes si se actualizan las im¨¢genes base.
Para obtener la imagen del componente Áú»¢¶Ä²©, ejecute:
Reemplace zabbix/zabbix-server-mysql
con el nombre del repositorio de Docker requerido.
Este comando extraer¨¢ la ¨²ltima versi¨®n estable del componente Áú»¢¶Ä²© basada en el sistema operativo Alpine Linux. Puede agregar etiquetas al nombre del repositorio para obtener una imagen basada en otro sistema operativo o en la versi¨®n principal o secundaria espec¨ªfica de Áú»¢¶Ä²©.
Los siguientes repositorios est¨¢n disponibles en Docker Hub:
Componente | Repositorio Docker | |
---|---|---|
Agente Áú»¢¶Ä²© | ||
Servidor Áú»¢¶Ä²© | ||
con soporte MySQL | ||
con soporte PostgreSQL | ||
Interfaz web de Áú»¢¶Ä²© | ||
basado en el servidor web Apache2 con soporte MySQL | ||
basado en el servidor web Apache2 con soporte PostgreSQL | ||
basado en el servidor web Nginx con soporte MySQL | ||
basado en el servidor web Nginx con soporte PostgreSQL | ||
Proxy Áú»¢¶Ä²© | ||
con soporte SQLite3 | ||
con soporte MySQL | ||
Áú»¢¶Ä²© Java Gateway |
La compatibilidad con capturas SNMP se proporciona en un repositorio separado [zabbix/zabbix-snmptraps] (https://hub.docker.com/r/zabbix/zabbix-snmptraps/). Se puede vincular con el servidor Áú»¢¶Ä²© y el Proxy Áú»¢¶Ä²©.
Las im¨¢genes oficiales de los componentes de Áú»¢¶Ä²© pueden contener las siguientes etiquetas:
Etiqueta | ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô | Ejemplo |
---|---|---|
latest | La ¨²ltima versi¨®n estable de un componente Áú»¢¶Ä²© basado en la imagen de Alpine Linux. | zabbix-agent:latest |
<SO>-trunk | La ¨²ltima versi¨®n nocturna de Áú»¢¶Ä²© que se est¨¢ desarrollando actualmente en un sistema operativo espec¨ªfico. <OS> - el sistema operativo base. Valores admitidos: alpine - Alpine Linux; ltsc2019 - Windows 10 LTSC 2019 (solo agente); ol - Oracle Linux; ltsc2022 - Windows 11 LTSC 2022 (solo agente); ubuntu - Ubuntu |
zabbix agent:ubuntu-trunk |
<SO>-latest | La ¨²ltima versi¨®n estable de un componente de Áú»¢¶Ä²© en un sistema operativo espec¨ªfico. <OS> - el sistema operativo base. Valores admitidos: alpine - Alpine Linux; ltsc2019 - Windows 10 LTSC 2019 (solo agente); ol - Oracle Linux; ltsc2022 - Windows 11 LTSC 2022 (solo agente); ubuntu - Ubuntu |
zabbix-agent:ol-latest |
<OS>-X.X-latest | La ¨²ltima versi¨®n menor de un componente de Áú»¢¶Ä²© de una versi¨®n principal y un sistema operativo espec¨ªficos. <OS> - el sistema operativo base. Valores admitidos: alpine - Alpine Linux; ltsc2019 - Windows 10 LTSC 2019 (solo agente); ol - Oracle Linux; ltsc2022 - Windows 11 LTSC 2022 (solo agente); ubuntu - Ubuntu X.X - la versi¨®n principal de Áú»¢¶Ä²© (es decir, 6.0, 7.0, 7.2). |
zabbix-agent:alpine-7.0-latest |
<OS>-X.X.* | La ¨²ltima versi¨®n menor de un componente de Áú»¢¶Ä²© de una versi¨®n principal y un sistema operativo espec¨ªficos. <OS> - el sistema operativo base. Valores admitidos: alpine - Alpine Linux; ltsc2019 - Windows 10 LTSC 2019 (solo agente); ol - Oracle Linux; ltsc2022 - Windows 11 LTSC 2022 (solo agente); ubuntu - Ubuntu X.X - la versi¨®n principal de Áú»¢¶Ä²© (es decir, 6.0, 7.0, 7.2). * - la versi¨®n menor de Áú»¢¶Ä²© |
zabbix-agent:alpine-7.0.1 |
Despu¨¦s de descargar las im¨¢genes, inicie los contenedores ejecutando el comando docker run
seguido de argumentos adicionales para especificar las variables de entorno y/o los puntos-de-montaje requeridos. A continuaci¨®n, se proporcionan algunos ejemplos de configuraci¨®n.
Áú»¢¶Ä²© no debe ejecutarse como PID1/como un proceso de inicio en contenedores en Áú»¢¶Ä²© 7.0.0-7.0.2.
Para habilitar la comunicaci¨®n entre los componentes de Áú»¢¶Ä²©, algunos puertos, como 10051/TCP para el servidor Áú»¢¶Ä²© (trapper), 10050/TCP para el agente Áú»¢¶Ä²©, 162/UDP para las trampas SNMP y 80/TCP para la interfaz web de Áú»¢¶Ä²©, se expondr¨¢n a una m¨¢quina host. La lista completa de puertos predeterminados que utilizan los componentes de Áú»¢¶Ä²© est¨¢ disponible en la p¨¢gina Requisitos. Para el servidor y el agente de Áú»¢¶Ä²©, el puerto predeterminado se puede cambiar configurando la variable de entorno ZBX_LISTENPORT.
Todas las im¨¢genes de componentes de Áú»¢¶Ä²© proporcionan variables de entorno para controlar la configuraci¨®n. Las variables de entorno admitidas se enumeran en el repositorio de componentes.
Estas variables de entorno son opciones de los archivos de configuraci¨®n de Áú»¢¶Ä²©, pero con un m¨¦todo de nomenclatura diferente. Por ejemplo, ZBX_LOGSLOWQUERIES
es igual a LogSlowQueries
de los archivos de configuraci¨®n del servidor Áú»¢¶Ä²© y proxy Áú»¢¶Ä²©.
Algunas de las opciones de configuraci¨®n no se pueden cambiar. Por ejemplo, PIDFile
y LogType
.
Las siguientes variables de entorno son espec¨ªficas de los componentes de Docker y no existen en los archivos de configuraci¨®n de Áú»¢¶Ä²©:
Variable | Componentes | Valor predeterminado | ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô |
---|---|---|---|
DB_SERVER_HOST |
Servidor Proxy Interfaz web |
mysql-server para MYSQL postgres-server para PostgreSQL |
Nombre IP o DNS del servidor MySQL o PostgreSQL. |
DB_SERVER_PORT |
Servidor Proxy Interfaz web |
3306 para MYSQL 5432 para PostgreSQL |
Puerto del servidor MySQL o PostgreSQL. |
MYSQL_USER |
Servidor Proxy Interfaz web |
zabbix |
Usuario de la base de datos MySQL. |
MYSQL_PASSWORD |
Servidor Proxy Interfaz web |
zabbix |
Contrase?a de la base de datos MySQL. |
MYSQL_DATABASE |
Servidor Proxy Interfaz web |
zabbix para servidor Áú»¢¶Ä²© zabbix_proxy para proxy Áú»¢¶Ä²© |
Nombre de la base de datos Áú»¢¶Ä²©. |
POSTGRES_USER |
Servidor Interfaz web |
zabbix |
Usuario de la base de datos PostgreSQL. |
POSTGRES_PASSWORD |
Servidor Interfaz web |
zabbix |
Contrase?a de la base de datos PostgreSQL. |
POSTGRES_DB |
Servidor Interfaz web |
zabbix para servidor Áú»¢¶Ä²© zabbix_proxy para proxy Áú»¢¶Ä²© |
Nombre de la base de datos Áú»¢¶Ä²©. |
PHP_TZ |
Interfaz web | Europa/Riga |
Zona horaria en formato PHP. La lista completa de zonas horarias admitidas est¨¢ disponible en . |
ZBX_SERVER_NAME |
Interfaz web | Áú»¢¶Ä²© Docker |
Nombre de instalaci¨®n de Áú»¢¶Ä²© visible en la esquina superior derecha de la interfaz web. |
ZBX_JAVAGATEWAY_ENABLE |
Servidor Proxy |
false |
Habilita la comunicaci¨®n con la puerta de enlace de Java de Áú»¢¶Ä²© para recopilar comprobaciones relacionadas con Java. |
ZBX_ENABLE_SNMP_TRAPS |
Servidor Proxy |
false |
Habilita la funci¨®n de captura SNMP. Requiere una instancia zabbix-snmptraps y un volumen compartido /var/lib/zabbix/snmptraps para el servidor Áú»¢¶Ä²© o el proxy Áú»¢¶Ä²©. |
Las im¨¢genes permiten montar vol¨²menes utilizando los siguientes puntos de montaje:
Volumen | ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô | |
---|---|---|
Agente de Áú»¢¶Ä²© | ||
/etc/zabbix/zabbix_agentd.d | El volumen permite incluir archivos *.conf y extender el agente Áú»¢¶Ä²© usando la funci¨®n UserParameter |
|
/var/lib/zabbix/modules | El volumen permite cargar m¨®dulos adicionales y extender el agente Áú»¢¶Ä²© usando la funci¨®n LoadModule | |
/var/lib/zabbix/enc | El volumen se utiliza para almacenar archivos relacionados con TLS. Estos nombres de archivos se especifican utilizando las variables de entorno ZBX_TLSCAFILE , ZBX_TLSCRLFILE , ZBX_TLSKEY_FILE y ZBX_TLSPSKFILE |
|
Servidor Áú»¢¶Ä²© | ||
/usr/lib/zabbix/alertscripts | El volumen se utiliza para scripts de alerta personalizados. Es el par¨¢metro AlertScriptsPath en zabbix_server.conf |
|
/usr/lib/zabbix/externalscripts | El volumen es utilizado para verificaciones externas. Es el par¨¢metro ExternalScripts en zabbix_server.conf |
|
/var/lib/zabbix/modules | El volumen permite cargar m¨®dulos adicionales y ampliar el servidor Áú»¢¶Ä²© usando la funci¨®n LoadModule | |
/var/lib/zabbix/enc | El volumen se utiliza para almacenar archivos relacionados con TLS. Estos nombres de archivos se especifican utilizando las variables de entorno ZBX_TLSCAFILE , ZBX_TLSCRLFILE , ZBX_TLSKEY_FILE y ZBX_TLSPSKFILE |
|
/var/lib/zabbix/ssl/certs | El volumen se utiliza como ubicaci¨®n de los archivos de certificado de cliente SSL para la autenticaci¨®n del cliente. Es el par¨¢metro SSLCertLocation en zabbix_server.conf |
|
/var/lib/zabbix/ssl/keys | El volumen se utiliza como ubicaci¨®n de archivos de clave privada SSL para la autenticaci¨®n del cliente. Es el par¨¢metro SSLKeyLocation en zabbix_server.conf |
|
/var/lib/zabbix/ssl/ssl_ca | El volumen se utiliza como ubicaci¨®n de los archivos de la autoridad certificadora (CA) para la verificaci¨®n del certificado del servidor SSL. Es el par¨¢metro SSLCALocation en zabbix_server.conf |
|
/var/lib/zabbix/snmptraps | El volumen se utiliza como ubicaci¨®n del archivo snmptraps.log. Podr¨ªa compartirse mediante el contenedor zabbix-snmptraps y heredarse usando la opci¨®n volumes_from Docker al crear una nueva instancia del servidor Áú»¢¶Ä²©. La funci¨®n de procesamiento de capturas SNMP podr¨ªa habilitarse usando un volumen compartido y cambiando la variable de entorno ZBX_ENABLE_SNMP_TRAPS a 'true' |
|
/var/lib/zabbix/mibs | El volumen permite agregar nuevos archivos MIB. No admite subdirectorios, todos los MIB deben colocarse en /var/lib/zabbix/mibs |
|
Proxy Áú»¢¶Ä²© | ||
/usr/lib/zabbix/externalscripts | El volumen es utilizado para verificaciones externas. Es el par¨¢metro ExternalScripts en zabbix_proxy.conf |
|
/var/lib/zabbix/db_data/ | El volumen permite almacenar archivos de bases de datos en dispositivos externos. Compatible solo con proxy Áú»¢¶Ä²© con SQLite3 | |
/var/lib/zabbix/modules | El volumen permite cargar m¨®dulos adicionales y ampliar el servidor Áú»¢¶Ä²© usando la funci¨®n LoadModule | |
/var/lib/zabbix/enc | El volumen se utiliza para almacenar archivos relacionados con TLS. Estos nombres de archivos se especifican utilizando las variables de entorno ZBX_TLSCAFILE , ZBX_TLSCRLFILE , ZBX_TLSKEY_FILE y ZBX_TLSPSKFILE |
|
/var/lib/zabbix/ssl/certs | El volumen se utiliza como ubicaci¨®n de los archivos de certificado de cliente SSL para la autenticaci¨®n del cliente. Es el par¨¢metro SSLCertLocation en zabbix_proxy.conf |
|
/var/lib/zabbix/ssl/keys | El volumen se utiliza como ubicaci¨®n de archivos de clave privada SSL para la autenticaci¨®n del cliente. Es el par¨¢metro SSLKeyLocation en zabbix_proxy.conf |
|
/var/lib/zabbix/ssl/ssl_ca | El volumen se utiliza como ubicaci¨®n de los archivos de la autoridad certificadora (CA) para la verificaci¨®n del certificado del servidor SSL. Es el par¨¢metro SSLCALocation en zabbix_proxy.conf |
|
/var/lib/zabbix/snmptraps | El volumen se utiliza como ubicaci¨®n del archivo snmptraps.log. Podr¨ªa ser compartido por el contenedor zabbix-snmptraps y heredado usando la opci¨®n volumes_from Docker al crear una nueva instancia del servidor Áú»¢¶Ä²©. La funci¨®n de procesamiento de capturas SNMP podr¨ªa habilitarse usando un volumen compartido y cambiando la variable de entorno ZBX_ENABLE_SNMP_TRAPS a 'true' |
|
/var/lib/zabbix/mibs | El volumen permite agregar nuevos archivos MIB. No admite subdirectorios, todos los MIB deben colocarse en /var/lib/zabbix/mibs |
|
Interfaz web Áú»¢¶Ä²© basada en el servidor web Apache2 | ||
/etc/ssl/apache2 | El volumen permite habilitar HTTPS para la interfaz web de Áú»¢¶Ä²©. El volumen debe contener los dos archivos ssl.crt y ssl.key preparados para conexiones SSL Apache2 |
|
Interfaz web Áú»¢¶Ä²© basada en servidor web Nginx | ||
/etc/ssl/nginx | El volumen permite habilitar HTTPS para la interfaz web de Áú»¢¶Ä²©. El volumen debe contener los dos archivos ssl.crt , ssl.key y dhparam.pem preparados para conexiones SSL de Nginx |
|
Áú»¢¶Ä²© snmptraps | ||
/var/lib/zabbix/snmptraps | El volumen contiene el archivo de registro snmptraps.log cuyo nombre contiene las capturas SNMP recibidas |
|
/var/lib/zabbix/mibs | El volumen permite agregar nuevos archivos MIB. No admite subdirectorios, todos los MIB deben colocarse en /var/lib/zabbix/mibs |
Para obtener informaci¨®n adicional, consulte los repositorios oficiales de Áú»¢¶Ä²© en Docker. Hub.
** Ejemplo 1 **
El ejemplo demuestra c¨®mo ejecutar el servidor Áú»¢¶Ä²© con soporte para la base de datos MySQL, interfaz web de Áú»¢¶Ä²© basada en el servidor web Nginx y Áú»¢¶Ä²© Java gateway.
1. Crear una red dedicada para los contenedores componentes de Áú»¢¶Ä²©:
2. Iniciar la instancia vac¨ªa del servidor 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.0-oracle \
--character-set-server=utf8 --collation-server=utf8_bin \
--default-authentication-plugin=mysql_native_password
3. Iniciar la instancia Java gateway de Áú»¢¶Ä²©
docker run --name zabbix-java-gateway -t \
--network=zabbix-net \
--restart unless-stopped \
-d zabbix/zabbix-java-gateway:alpine-7.0-latest
4. Iniciar la instancia del servidor Áú»¢¶Ä²© y enlazar con la instancia creada del servidor MySQL
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-7.0-latest
5. Iniciar la interfaz web de Áú»¢¶Ä²© y enlazar la instancias creadas del servidor MySQL y del servidor Áú»¢¶Ä²©.
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-7.0-latest
Ejemplo 2
El ejemplo demuestra c¨®mo ejecutar el servidor Áú»¢¶Ä²© con soporte a la base de datos PostgreSQL, interfaz web de Áú»¢¶Ä²© basada en el servidor web Nginx y capacidad de captura SNMP.
1. Crear una red dedicada para los contenedores componentes de Áú»¢¶Ä²©:
2. Iniciar la instancia vac¨ªa del servidor 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. Iniciar la instancia snmptraps de Áú»¢¶Ä²©
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-7.0-latest
4. Iniciar la instancia del servidor Áú»¢¶Ä²© y enlazar con la instancia creada del servidor PostgreSQL
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-7.0-latest
5. Iniciar la interfaz web de Áú»¢¶Ä²© y enlace la instancias creadas del servidor PostgreSQL y del servidor Áú»¢¶Ä²©
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-7.0-latest
Ejemplo 3
El ejemplo demuestra c¨®mo ejecutar el servidor Áú»¢¶Ä²© con soporte a la base de datos MySQL, interfaz web de Áú»¢¶Ä²© basada en el servidor web Nginx y Áú»¢¶Ä²© Java gateway usando podman
en Red Hat 8.
1. Crear un nuevo pod llamado zabbix
y exponer los puertos (interfaz web, servidor de captura Áú»¢¶Ä²©):
2. (opcional) Iniciar el contenedor del agente Áú»¢¶Ä²© en el 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-70:latest
3. Crear el directorio./mysql/
en el equipo e iniciar el servidor Oracle MySQL 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
4. Iniciar el contenedor del servidor Áú»¢¶Ä²©:
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-70
5. Iniciar el contenedor Java Gateway de Áú»¢¶Ä²©:
podman run --name zabbix-java-gateway -t \
--restart=always \
--pod=zabbix \
-d registry.connect.redhat.com/zabbix/zabbix-java-gateway-70
6. Iniciar el contenedor de la interfaz web de Áú»¢¶Ä²©:
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-70
El pod zabbix
expone el puerto 80/TCP (HTTP) a la m¨¢quina anfitriona desde el 8080/TCP del contenedor zabbix-web-mysql
.
Alternativamente, Áú»¢¶Ä²© se puede instalar usando el complemento Docker Compose. Los archivos de redacci¨®n para definir y ejecutar componentes Áú»¢¶Ä²© de m¨²ltiples contenedores est¨¢n disponibles en el oficial en GitHub.
Los archivos de composici¨®n oficiales de Áú»¢¶Ä²© son compatibles con la versi¨®n 3 de Docker Compose.
Estos archivos de redacci¨®n se agregan como ejemplos; est¨¢n sobrecargados. Por ejemplo, contienen servidores proxy compatibles con MySQL y SQLite3.
Para obtener archivos de redacci¨®n de Docker proporcionados por Áú»¢¶Ä²©, clone el repositorio:
Cambie a la versi¨®n requerida:
Redacte archivos de configuraci¨®n y cree e inicie contenedores:
Reemplace docker-compose_v3_alpine_mysql_latest.yaml
en el comando anterior con el archivo de configuraci¨®n requerido.
Las siguientes opciones est¨¢n disponibles:
Nombre de archivo | ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô |
---|---|
docker-compose_v3_alpine_mysql_latest.yaml |
El archivo de redacci¨®n ejecuta la ¨²ltima versi¨®n de los componentes Áú»¢¶Ä²© 7.0 en Alpine Linux con soporte de base de datos MySQL. |
docker-compose_v3_alpine_mysql_local.yaml |
El archivo de redacci¨®n construye localmente la ¨²ltima versi¨®n de Áú»¢¶Ä²© 7.0 y ejecuta componentes de Áú»¢¶Ä²© en Alpine Linux con soporte de base de datos MySQL. |
docker-compose_v3_alpine_pgsql_latest.yaml |
El archivo de redacci¨®n ejecuta la ¨²ltima versi¨®n de los componentes Áú»¢¶Ä²© 7.0 en Alpine Linux con soporte de base de datos PostgreSQL. |
docker-compose_v3_alpine_pgsql_local.yaml |
El archivo de redacci¨®n construye localmente la ¨²ltima versi¨®n de Áú»¢¶Ä²© 7.0 y ejecuta componentes de Áú»¢¶Ä²© en Alpine Linux con soporte de base de datos PostgreSQL. |
docker-compose_v3_ol_mysql_latest.yaml |
El archivo de redacci¨®n ejecuta la ¨²ltima versi¨®n de los componentes Áú»¢¶Ä²© 7.0 en Oracle Linux con soporte de base de datos MySQL. |
docker-compose_v3_ol_mysql_local.yaml |
El archivo de redacci¨®n construye localmente la ¨²ltima versi¨®n de Áú»¢¶Ä²© 7.0 y ejecuta componentes de Áú»¢¶Ä²© en Oracle Linux con soporte de base de datos MySQL. |
docker-compose_v3_ol_pgsql_latest.yaml |
El archivo de redacci¨®n ejecuta la ¨²ltima versi¨®n de los componentes Áú»¢¶Ä²© 7.0 en Oracle Linux con soporte de base de datos PostgreSQL. |
docker-compose_v3_ol_pgsql_local.yaml |
El archivo de redacci¨®n construye localmente la ¨²ltima versi¨®n de Áú»¢¶Ä²© 7.0 y ejecuta componentes de Áú»¢¶Ä²© en Oracle Linux con soporte de base de datos PostgreSQL. |
docker-compose_v3_ubuntu_mysql_latest.yaml |
El archivo de redacci¨®n ejecuta la ¨²ltima versi¨®n de los componentes de Áú»¢¶Ä²© 7.0 en Ubuntu 20.04 con soporte de base de datos MySQL. |
docker-compose_v3_ubuntu_mysql_local.yaml |
El archivo de redacci¨®n construye localmente la ¨²ltima versi¨®n de Áú»¢¶Ä²© 7.0 y ejecuta componentes de Áú»¢¶Ä²© en Ubuntu 20.04 con soporte de base de datos MySQL. |
docker-compose_v3_ubuntu_pgsql_latest.yaml |
El archivo de redacci¨®n ejecuta la ¨²ltima versi¨®n de los componentes de Áú»¢¶Ä²© 7.0 en Ubuntu 20.04 con soporte de base de datos PostgreSQL. |
docker-compose_v3_ubuntu_pgsql_local.yaml |
El archivo de redacci¨®n construye localmente la ¨²ltima versi¨®n de Áú»¢¶Ä²© 7.0 y ejecuta componentes de Áú»¢¶Ä²© en Ubuntu 20.04 con soporte de base de datos PostgreSQL. |
Los archivos de composici¨®n est¨¢n configurados para admitir el almacenamiento local en una m¨¢quina anfitriona. Docker Compose crear¨¢ un directorio zbx_env
en la carpeta con el archivo de composici¨®n cuando ejecuta los componentes de Áú»¢¶Ä²© usando el archivo de composici¨®n. El directorio contendr¨¢ la misma estructura que la descrita anteriormente en la Secci¨®n ³Õ´Ç±ô¨²³¾±ð²Ô±ð²õ y el directorio para el almacenamiento de la base de datos.
Tambi¨¦n hay vol¨²menes en modo de solo lectura para los archivos /etc/localtime
y /etc/timezone
.
Los archivos de variables tienen la siguiente estructura de nombres: .env_<tipo de componente>
y se encuentran en el env_vars. Consulte las variables de entorno para obtener detalles sobre los nombres de las variables y la selecci¨®n disponible.
Ejemplo 1
El comando descargar¨¢ las ¨²ltimas im¨¢genes de Áú»¢¶Ä²© 7.0 para cada componente de Áú»¢¶Ä²© y las ejecutar¨¢ en modo desconectado.
No olvide descargar archivos .env_<tipo de componente>
del repositorio oficial de Áú»¢¶Ä²© de github.com con los archivos de redacci¨®n.
Ejemplo 2
El comando descargar¨¢ la imagen base Ubuntu 22.04 (jammy), luego compilar¨¢ los componentes Áú»¢¶Ä²© 7.0 localmente y los ejecutar¨¢ en modo desconectado.