5 컨테이너에서 설치
원본 보기5 컨테이너에서 설치
개요
이 섹션에서는 Docker 또는 Docker Compose로 Zabbix를 배포하는 방법을 설명합니다.
Zabbix는 공식적으로 다음을 제공합니다:
- 휴대용이고 독립적인 컨테이너로 실행할 수 있는 각 Zabbix 구성 요소별 개별 Docker 이미지
- Docker에서 다중 컨테이너 Zabbix 구성 요소를 정의하고 실행하기 위한 Compose 파일
Zabbix 6.0부터 설치 중에 결정적 트리거를 생성해야 합니다.
MySQL/MariaDB에서 바이너리 로깅이 활성화된 경우, 이는 superuser 권한이 필요하거나 log_bin_trust_function_creators = 1 변수/구성 매개변수를 설정해야 합니다.
변수를 설정하는 방법에 대한 지침은 데이터베이스 생성 스크립트를 참조하세요.
콘솔에서 실행하는 경우, 변수는 일시적으로만 설정되며 Docker가 재시작되면 제거된다는 점에 유의하세요.
이 경우 SQL 서비스를 계속 실행하고, 'docker compose down zabbix-server'를 실행한 다음 'docker compose up -d zabbix-server'를 실행하여 zabbix-server 서비스만 중지하세요.
또는 구성 파일에서 이 변수를 설정할 수 있습니다.
소스 파일
Docker 파일 소스는 GitHub의 Zabbix 공식 저장소에 저장되어 있으며, 여기서 최신 파일 변경사항을 확인하거나 프로젝트를 포크하여 자신만의 이미지를 만들 수 있습니다.
Docker
Zabbix는 다양한 OS 기본 이미지를 기반으로 한 이미지들을 제공합니다. 특정 Zabbix 구성 요소에 대해 지원되는 기본 운영 체제 이미지 목록을 확인하려면 Docker Hub에서 해당 구성 요소의 설명을 참조하세요. 모든 Zabbix 이미지는 기본 이미지가 업데이트될 때 최신 이미지를 다시 빌드하도록 구성되어 있습니다.
설치
Zabbix 컴포넌트 이미지를 가져오려면 다음 명령어를 실행하세요:
docker pull zabbix/zabbix-server-mysql
zabbix/zabbix-server-mysql을 필요한 docker 저장소 이름으로 바꿔주세요.
이 명령어는 Alpine Linux OS를 기반으로 한 최신 안정 버전의 Zabbix 컴포넌트를 가져옵니다. 저장소 이름에 태그를 추가하여 다른 운영체제를 기반으로 하거나 특정 Zabbix 주 버전 또는 부 버전의 이미지를 가져올 수 있습니다.
Docker Hub에서 사용 가능한 저장소는 다음과 같습니다:
| 컴포넌트 | Docker 저장소 | |
|---|---|---|
| Zabbix agent | zabbix/zabbix-agent | |
| Zabbix server | ||
| MySQL 지원 | zabbix/zabbix-server-mysql | |
| PostgreSQL 지원 | zabbix/zabbix-server-pgsql | |
| Zabbix 웹 인터페이스 | ||
| MySQL 지원을 포함한 Apache2 웹 서버 기반 | zabbix/zabbix-web-apache-mysql | |
| PostgreSQL 지원을 포함한 Apache2 웹 서버 기반 | zabbix/zabbix-web-apache-pgsql | |
| MySQL 지원을 포함한 Nginx 웹 서버 기반 | zabbix/zabbix-web-nginx-mysql | |
| PostgreSQL 지원을 포함한 Nginx 웹 서버 기반 | zabbix/zabbix-web-nginx-pgsql | |
| Zabbix proxy | ||
| SQLite3 지원 | zabbix/zabbix-proxy-sqlite3 | |
| MySQL 지원 | zabbix/zabbix-proxy-mysql | |
| Zabbix Java gateway | zabbix/zabbix-java-gateway | |
SNMP 트랩 지원은 별도의 저장소 zabbix/zabbix-snmptraps에서 제공됩니다. 이는 Zabbix 서버 및 Zabbix proxy와 연결할 수 있습니다.
태그
공식 Zabbix 컴포넌트 이미지는 다음 태그들을 포함할 수 있습니다:
| 태그 | 설명 | 예시 |
|---|---|---|
| latest | Alpine Linux 이미지를 기반으로 한 Zabbix 컴포넌트의 최신 안정 버전입니다. | zabbix-agent:latest |
| <OS>-trunk | 특정 운영체제에서 현재 개발 중인 Zabbix 버전의 최신 야간 빌드입니다. <OS> - 기본 운영체제입니다. 지원되는 값: alpine - Alpine Linux; ltsc2019 - Windows 10 LTSC 2019 (에이전트만); ol - Oracle Linux; ltsc2022 - Windows 11 LTSC 2022 (에이전트만); ubuntu - Ubuntu |
zabbix-agent:ubuntu-trunk |
| <OS>-latest | 특정 운영체제에서 Zabbix 컴포넌트의 최신 안정 버전입니다. <OS> - 기본 운영체제입니다. 지원되는 값: alpine - Alpine Linux; ltsc2019 - Windows 10 LTSC 2019 (에이전트만); ol - Oracle Linux; ltsc2022 - Windows 11 LTSC 2022 (에이전트만); ubuntu - Ubuntu |
zabbix-agent:ol-latest |
| <OS>-X.X-latest | 특정 메이저 버전과 운영체제에서 Zabbix 컴포넌트의 최신 마이너 버전입니다. <OS> - 기본 운영체제입니다. 지원되는 값: alpine - Alpine Linux; ltsc2019 - Windows 10 LTSC 2019 (에이전트만); ol - Oracle Linux; ltsc2022 - Windows 11 LTSC 2022 (에이전트만); ubuntu - Ubuntu X.X - Zabbix 메이저 버전입니다 (예: 6.0, 7.0, 7.2). |
zabbix-agent:alpine-7.0-latest |
| <OS>-X.X.* | 특정 메이저 버전과 운영체제에서 Zabbix 컴포넌트의 특정 마이너 버전입니다. <OS> - 기본 운영체제입니다. 지원되는 값: alpine - Alpine Linux; ltsc2019 - Windows 10 LTSC 2019 (에이전트만); ol - Oracle Linux; ltsc2022 - Windows 11 LTSC 2022 (에이전트만); ubuntu - Ubuntu X.X - Zabbix 메이저 버전입니다 (예: 6.0, 7.0, 7.2). * - Zabbix 마이너 버전입니다 |
zabbix-agent:alpine-7.0.1 |
초기 설정
이미지를 다운로드한 후, 필요한 환경 변수 및/또는 마운트 지점을 지정하기 위한 추가 인수와 함께 docker run 명령어를 실행하여 컨테이너를 시작하세요.
일부 설정 예제가 아래에 제공됩니다.
Zabbix 7.0.0-7.0.2에서는 컨테이너에서 Zabbix를 PID1/init 프로세스로 실행하면 안 됩니다.
Zabbix 구성 요소 간의 통신을 가능하게 하기 위해 Zabbix 서버(트래퍼)용 10051/TCP, Zabbix 에이전트용 10050/TCP, SNMP 트랩용 162/UDP, Zabbix 웹 인터페이스용 80/TCP와 같은 일부 포트가 호스트 머신에 노출됩니다. Zabbix 구성 요소에서 사용되는 기본 포트의 전체 목록은 요구 사항 페이지에서 확인할 수 있습니다. Zabbix 서버와 에이전트의 경우 ZBX_LISTENPORT 환경 변수를 설정하여 기본 포트를 변경할 수 있습니다.
환경 변수
모든 Zabbix 컴포넌트 이미지는 구성을 제어하기 위한 환경 변수를 제공합니다. 지원되는 환경 변수는 컴포넌트 저장소에 나열되어 있습니다.
이러한 환경 변수는 Zabbix 구성 파일의 옵션이지만 다른 명명 방법을 사용합니다.
예를 들어, ZBX_LOGSLOWQUERIES는 Zabbix 서버 또는 Zabbix 프록시 구성 파일의 LogSlowQueries와 동일합니다.
일부 구성 옵션(예: PIDFile 및 LogType)은 변경할 수 없습니다.
다음 환경 변수는 Docker 컴포넌트에 특화된 것으로 Zabbix 구성 파일에는 존재하지 않습니다:
| 변수 | 컴포넌트 | 기본값 | 설명 |
|---|---|---|---|
DB_SERVER_HOST |
Server Proxy Web interface |
MYSQL의 경우 mysql-server PostgreSQL의 경우 postgres-server |
MySQL 또는 PostgreSQL 서버의 IP 또는 DNS 이름. |
DB_SERVER_PORT |
Server Proxy Web interface |
MYSQL의 경우 3306 PostgreSQL의 경우 5432 |
MySQL 또는 PostgreSQL 서버의 포트. |
MYSQL_USER |
Server Proxy Web-interface |
zabbix |
MySQL 데이터베이스 사용자. |
MYSQL_PASSWORD |
Server Proxy Web interface |
zabbix |
MySQL 데이터베이스 비밀번호. |
MYSQL_DATABASE |
Server Proxy Web interface |
Zabbix 서버의 경우 zabbix Zabbix 프록시의 경우 zabbix_proxy |
Zabbix 데이터베이스 이름. |
POSTGRES_USER |
Server Web interface |
zabbix |
PostgreSQL 데이터베이스 사용자. |
POSTGRES_PASSWORD |
Server Web interface |
zabbix |
PostgreSQL 데이터베이스 비밀번호. |
POSTGRES_DB |
Server Web interface |
Zabbix 서버의 경우 zabbix Zabbix 프록시의 경우 zabbix_proxy |
Zabbix 데이터베이스 이름. |
PHP_TZ |
Web-interface | Europe/Riga |
PHP 형식의 시간대. 지원되는 시간대의 전체 목록은 php.net에서 확인할 수 있습니다. |
ZBX_SERVER_NAME |
Web interface | Zabbix Docker |
웹 인터페이스의 세로 메뉴에서 Zabbix 로고 아래에 표시되는 Zabbix 설치 이름. |
ZBX_JAVAGATEWAY_ENABLE |
Server Proxy |
false |
Java 관련 체크를 수집하기 위해 Zabbix Java 게이트웨이와의 통신을 활성화합니다. |
ZBX_ENABLE_SNMP_TRAPS |
Server Proxy |
false |
SNMP 트랩 기능을 활성화합니다. 이 기능은 zabbix-snmptraps 인스턴스와 Zabbix 서버 또는 Zabbix 프록시에 대한 공유 볼륨 /var/lib/zabbix/snmptraps이 필요합니다. |
Volumes
The images allow to mount volumes using the following mount points:
| Volume | Description | |
|---|---|---|
| Zabbix agent | ||
| /etc/zabbix/zabbix_agentd.d | The volume allows to include *.conf files and extend Zabbix agent using the UserParameter feature |
|
| /var/lib/zabbix/modules | The volume allows to load additional modules and extend Zabbix agent using the LoadModule feature | |
| /var/lib/zabbix/enc | The volume is used to store TLS-related files. These file names are specified using ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILE and ZBX_TLSPSKFILE environment variables |
|
| Zabbix server | ||
| /usr/lib/zabbix/alertscripts | The volume is used for custom alert scripts. It is the AlertScriptsPath parameter in zabbix_server.conf |
|
| /usr/lib/zabbix/externalscripts | The volume is used by external checks. It is the ExternalScripts parameter in zabbix_server.conf |
|
| /var/lib/zabbix/modules | The volume allows to load additional modules and extend Zabbix server using the LoadModule feature | |
| /var/lib/zabbix/enc | The volume is used to store TLS related files. These file names are specified using ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILE and ZBX_TLSPSKFILE environment variables |
|
| /var/lib/zabbix/ssl/certs | The volume is used as location of SSL client certificate files for client authentication. It is the SSLCertLocation parameter in zabbix_server.conf |
|
| /var/lib/zabbix/ssl/keys | The volume is used as location of SSL private key files for client authentication. It is the SSLKeyLocation parameter in zabbix_server.conf |
|
| /var/lib/zabbix/ssl/ssl_ca | The volume is used as location of certificate authority (CA) files for SSL server certificate verification. It is the SSLCALocation parameter in zabbix_server.conf |
|
| /var/lib/zabbix/snmptraps | The volume is used as location of snmptraps.log file. It could be shared by zabbix-snmptraps container and inherited using the volumes_from Docker option while creating a new instance of Zabbix server. SNMP trap processing feature could be enabled by using shared volume and switching the ZBX_ENABLE_SNMP_TRAPS environment variable to 'true' |
|
| /var/lib/zabbix/mibs | The volume allows to add new MIB files. It does not support subdirectories, all MIBs must be placed in /var/lib/zabbix/mibs |
|
| Zabbix proxy | ||
| /usr/lib/zabbix/externalscripts | The volume is used by external checks. It is the ExternalScripts parameter in zabbix_proxy.conf |
|
| /var/lib/zabbix/db_data/ | The volume allows to store database files on external devices. Supported only for Zabbix proxy with SQLite3 | |
| /var/lib/zabbix/modules | The volume allows to load additional modules and extend Zabbix server using the LoadModule feature | |
| /var/lib/zabbix/enc | The volume is used to store TLS related files. These file names are specified using ZBX_TLSCAFILE, ZBX_TLSCRLFILE, ZBX_TLSKEY_FILE and ZBX_TLSPSKFILE environment variables |
|
| /var/lib/zabbix/ssl/certs | The volume is used as location of SSL client certificate files for client authentication. It is the SSLCertLocation parameter in zabbix_proxy.conf |
|
| /var/lib/zabbix/ssl/keys | The volume is used as location of SSL private key files for client authentication. It is the SSLKeyLocation parameter in zabbix_proxy.conf |
|
| /var/lib/zabbix/ssl/ssl_ca | The volume is used as location of certificate authority (CA) files for SSL server certificate verification. It is the SSLCALocation parameter in zabbix_proxy.conf |
|
| /var/lib/zabbix/snmptraps | The volume is used as location of snmptraps.log file. It could be shared by the zabbix-snmptraps container and inherited using the volumes_from Docker option while creating a new instance of Zabbix server. SNMP trap processing feature could be enabled by using shared volume and switching the ZBX_ENABLE_SNMP_TRAPS environment variable to 'true' |
|
| /var/lib/zabbix/mibs | The volume allows to add new MIB files. It does not support subdirectories, all MIBs must be placed in /var/lib/zabbix/mibs |
|
| Zabbix web interface based on Apache2 web server | ||
| /etc/ssl/apache2 | The volume allows to enable HTTPS for Zabbix web interface. The volume must contain the two ssl.crt and ssl.key files prepared for Apache2 SSL connections |
|
| Zabbix web interface based on Nginx web server | ||
| /etc/ssl/nginx | The volume allows to enable HTTPS for Zabbix web interface. The volume must contain the two ssl.crt, ssl.key files and dhparam.pem prepared for Nginx SSL connections |
|
| Zabbix snmptraps | ||
| /var/lib/zabbix/snmptraps | The volume contains the snmptraps.log log file named with received SNMP traps |
|
| /var/lib/zabbix/mibs | The volume allows to add new MIB files. It does not support subdirectories, all MIBs must be placed in /var/lib/zabbix/mibs |
|
For additional information, see Zabbix official repositories in Docker Hub.
예제
예제 1
이 예제는 MySQL 데이터베이스 지원을 포함한 Zabbix 서버, Nginx 웹 서버 기반의 Zabbix 웹 인터페이스, 그리고 Zabbix Java 게이트웨이를 실행하는 방법을 보여줍니다.
1. Zabbix 구성 요소 컨테이너 전용 네트워크 생성:
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
2. 빈 MySQL 서버 인스턴스 시작:
MySQL 버전 8.4+ 의 경우, mysql_native_password 대신 caching_sha2_password를 사용해야 합니다.
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. Zabbix Java 게이트웨이 인스턴스 시작:
docker run --name zabbix-java-gateway -t \
--network=zabbix-net \
--restart unless-stopped \
-d zabbix/zabbix-java-gateway:alpine-7.0-latest
4. Zabbix 서버 인스턴스 시작 및 생성된 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. Zabbix 웹 인터페이스 시작 및 생성된 MySQL 서버와 Zabbix 서버 인스턴스와 연결:
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
예제 2
이 예제는 PostgreSQL 데이터베이스 지원을 포함한 Zabbix 서버, Nginx 웹 서버 기반의 Zabbix 웹 인터페이스, 그리고 SNMP 트랩 기능을 실행하는 방법을 보여줍니다.
1. Zabbix 구성 요소 컨테이너 전용 네트워크 생성:
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
2. 빈 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. Zabbix snmptraps 인스턴스 시작:
docker run --name zabbix-snmptraps -t \
-v /zbx_instance/snmptraps:/var/lib/zabbix/snmptraps:rw \
--network=zabbix-net \
-p 162:1162/udp \
--restart unless-stopped \
-d zabbix/zabbix-snmptraps:alpine-7.0-latest
4. Zabbix 서버 인스턴스 시작 및 생성된 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. Zabbix 웹 인터페이스 시작 및 생성된 PostgreSQL 서버와 Zabbix 서버 인스턴스와 연결:
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
예제 3
이 예제는 Red Hat 8에서 podman을 사용하여 MySQL 데이터베이스 지원을 포함한 Zabbix 서버, Nginx 웹 서버 기반의 Zabbix 웹 인터페이스, 그리고 Zabbix Java 게이트웨이를 실행하는 방법을 보여줍니다.
1. zabbix라는 이름으로 새 포드를 생성하고 포트 노출 (웹 인터페이스, Zabbix 서버 트래퍼):
podman pod create --name zabbix -p 80:8080 -p 10051:10051
2. (선택사항) zabbix 포드 위치에 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. 호스트에 ./mysql/ 디렉터리 생성 및 Oracle MySQL 서버 8.0 시작:
MySQL 버전 8.4+ 의 경우, mysql_native_password 대신 caching_sha2_password를 사용해야 합니다.
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. 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-70
5. Zabbix Java Gateway 컨테이너 시작:
podman run --name zabbix-java-gateway -t \
--restart=always \
--pod=zabbix \
-d registry.connect.redhat.com/zabbix/zabbix-java-gateway-70
6. 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-70
포드 zabbix는 zabbix-web-mysql 컨테이너의 8080/TCP 포트로부터 호스트 머신에 80/TCP 포트(HTTP)를 노출합니다.
Docker Compose
또는 Docker Compose 플러그인을 사용하여 Zabbix를 설치할 수 있습니다. 다중 컨테이너 Zabbix 구성 요소를 정의하고 실행하기 위한 Compose 파일은 GitHub의 공식 Zabbix Docker 저장소에서 사용할 수 있습니다.
공식 Zabbix compose 파일은 Docker Compose 버전 3을 지원합니다.
이러한 compose 파일은 예제로 추가되었으며, 과부하 상태입니다. 예를 들어, MySQL과 SQLite3 지원을 모두 포함하는 프록시가 포함되어 있습니다.
Zabbix에서 제공하는 Docker compose 파일을 얻으려면 저장소를 복제하세요:
git clone https://github.com/zabbix/zabbix-docker.git
필요한 버전으로 전환하세요:
git checkout 7.0
Compose 구성 파일을 사용하여 컨테이너를 생성하고 시작하세요:
docker compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up
위 명령어의 docker-compose_v3_alpine_mysql_latest.yaml을 필요한 구성 파일로 교체하세요.
다음 옵션들이 사용 가능합니다:
| 파일명 | 설명 |
|---|---|
docker-compose_v3_alpine_mysql_latest.yaml |
이 compose 파일은 MySQL 데이터베이스 지원과 함께 Alpine Linux에서 Zabbix 7.0 구성 요소의 최신 버전을 실행합니다. |
docker-compose_v3_alpine_mysql_local.yaml |
이 compose 파일은 Zabbix 7.0의 최신 버전을 로컬에서 빌드하고 MySQL 데이터베이스 지원과 함께 Alpine Linux에서 Zabbix 구성 요소를 실행합니다. |
docker-compose_v3_alpine_pgsql_latest.yaml |
이 compose 파일은 PostgreSQL 데이터베이스 지원과 함께 Alpine Linux에서 Zabbix 7.0 구성 요소의 최신 버전을 실행합니다. |
docker-compose_v3_alpine_pgsql_local.yaml |
이 compose 파일은 Zabbix 7.0의 최신 버전을 로컬에서 빌드하고 PostgreSQL 데이터베이스 지원과 함께 Alpine Linux에서 Zabbix 구성 요소를 실행합니다. |
docker-compose_v3_ol_mysql_latest.yaml |
이 compose 파일은 MySQL 데이터베이스 지원과 함께 Oracle Linux에서 Zabbix 7.0 구성 요소의 최신 버전을 실행합니다. |
docker-compose_v3_ol_mysql_local.yaml |
이 compose 파일은 Zabbix 7.0의 최신 버전을 로컬에서 빌드하고 MySQL 데이터베이스 지원과 함께 Oracle Linux에서 Zabbix 구성 요소를 실행합니다. |
docker-compose_v3_ol_pgsql_latest.yaml |
이 compose 파일은 PostgreSQL 데이터베이스 지원과 함께 Oracle Linux에서 Zabbix 7.0 구성 요소의 최신 버전을 실행합니다. |
docker-compose_v3_ol_pgsql_local.yaml |
이 compose 파일은 Zabbix 7.0의 최신 버전을 로컬에서 빌드하고 PostgreSQL 데이터베이스 지원과 함께 Oracle Linux에서 Zabbix 구성 요소를 실행합니다. |
docker-compose_v3_ubuntu_mysql_latest.yaml |
이 compose 파일은 MySQL 데이터베이스 지원과 함께 Ubuntu 20.04에서 Zabbix 7.0 구성 요소의 최신 버전을 실행합니다. |
docker-compose_v3_ubuntu_mysql_local.yaml |
이 compose 파일은 Zabbix 7.0의 최신 버전을 로컬에서 빌드하고 MySQL 데이터베이스 지원과 함께 Ubuntu 20.04에서 Zabbix 구성 요소를 실행합니다. |
docker-compose_v3_ubuntu_pgsql_latest.yaml |
이 compose 파일은 PostgreSQL 데이터베이스 지원과 함께 Ubuntu 20.04에서 Zabbix 7.0 구성 요소의 최신 버전을 실행합니다. |
docker-compose_v3_ubuntu_pgsql_local.yaml |
이 compose 파일은 Zabbix 7.0의 최신 버전을 로컬에서 빌드하고 PostgreSQL 데이터베이스 지원과 함께 Ubuntu 20.04에서 Zabbix 구성 요소를 실행합니다. |
스토리지
Compose 파일은 호스트 머신에서 로컬 스토리지를 지원하도록 구성되어 있습니다.
Docker Compose는 compose 파일을 사용하여 Zabbix 구성 요소를 실행할 때 compose 파일이 있는 폴더에 zbx_env 디렉토리를 생성합니다.
이 디렉토리는 볼륨 섹션에서 설명한 것과 같은 구조와 데이터베이스 스토리지용 디렉토리를 포함합니다.
/etc/localtime과 /etc/timezone 파일에 대해서는 읽기 전용 모드의 볼륨도 있습니다.
환경 변수
변수 파일은 다음과 같은 명명 구조를 가집니다: .env_<컴포넌트 유형> 그리고 env_vars 디렉터리에 위치합니다.
변수 명명 및 사용 가능한 선택에 대한 자세한 내용은 환경 변수를 참조하세요.
예제
예제 1
git checkout 7.0
docker compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up -d
이 명령은 각 Zabbix 구성 요소에 대한 최신 Zabbix 7.0 이미지를 다운로드하고 분리 모드로 실행합니다.
github.com 공식 Zabbix 저장소에서 compose 파일과 함께 .env_<type of component> 파일을 다운로드하는 것을 잊지 마세요.
예제 2
git checkout 7.0
docker compose -f ./docker-compose_v3_ubuntu_mysql_local.yaml up -d
이 명령은 베이스 이미지 Ubuntu 24.04 (noble)을 다운로드한 후, Zabbix 7.0 구성 요소를 로컬에서 빌드하고 분리 모드로 실행합니다.