컨테이너 업그레이드

Zabbix v7.4번역일: 2026-09-09원본 보기

개요

이 섹션에서는 성공적인 업그레이드를 통해 Zabbix 7.4.x 컨테이너로 전환하는 데 필요한 단계를 설명합니다.

다음 항목에 대한 별도의 지침이 제공됩니다.

업그레이드하기 전에 관련 업그레이드 참고 사항을 반드시 읽으십시오!

업그레이드를 시작하기 전에 사용자에게 업그레이드에 필요한 데이터베이스 권한이 있는지 확인하십시오.

Zabbix 6.0 이하 버전에서 업그레이드할 경우 업그레이드 중에 결정적 트리거를 생성해야 합니다. MySQL/MariaDB에서 바이너리 로깅이 활성화되어 있다면 수퍼유저 권한이 필요하거나 변수/구성 매개변수 log_bin_trust_function_creators = 1을 설정해야 합니다. 변수 설정 방법은 데이터베이스 생성 스크립트를 참조하십시오.

콘솔에서 실행하면 변수가 임시로만 설정되며 Docker가 다시 시작될 때 제거된다는 점에 유의하십시오. 이 경우 SQL 서비스를 계속 실행하고 docker compose down zabbix-server를 실행하여 zabbix-server 서비스만 중지한 다음 docker compose up -d zabbix-server를 실행하십시오.

또는 구성 파일에서 이 변수를 설정할 수 있습니다.

데이터베이스 크기에 따라 버전 7.4로 데이터베이스를 업그레이드하는 데 시간이 오래 걸릴 수 있습니다.

Zabbix 구성 요소 이미지 업그레이드

이 지침은 Zabbix 구성 요소 컨테이너의 기반으로 사용되는 Docker 이미지를 업그레이드합니다.

아래 단계에서는 Zabbix 프록시를 예로 사용합니다. zabbix-proxy-sqlite3을 구성 요소의 컨테이너 이름으로 바꾸십시오.

1. 모든 컨테이너를 확인하여 이름과 현재 이미지 버전을 파악합니다.

docker ps -a

# CONTAINER ID   IMAGE                                           (...) NAMES
# 5a0c2e3d02b4   zabbix/zabbix-proxy-sqlite3:alpine-7.2-latest   (...) zabbix-proxy-sqlite3

2. 새 이미지 버전을 가져옵니다.

docker pull zabbix/zabbix-proxy-sqlite3:alpine-7.4-latest

3. Zabbix 구성 요소 컨테이너를 중지합니다.

docker stop zabbix-proxy-sqlite3

4. Zabbix 구성 요소 컨테이너를 제거합니다.

컨테이너를 다시 생성할 때 필요하므로 계속하기 전에 원래 docker run 명령에서 사용한 모든 구성 플래그와 볼륨 마운트를 기록해 두십시오.

docker rm zabbix-proxy-sqlite3

5. 업데이트된 이미지를 사용하여 새 컨테이너를 시작합니다.

docker run --name zabbix-proxy-sqlite3 \
  -e ZBX_SERVER_HOST=192.0.2.1 \
  -e ZBX_PROXYMODE=0 \
  -e ZBX_HOSTNAME=zabbix-proxy-sqlite3 \
  -v zabbix-proxy-data:/var/lib/zabbix/db_data \
  --init \
  -d \
  zabbix/zabbix-proxy-sqlite3:alpine-7.4-latest

Zabbix 컨테이너 실행에 대한 자세한 내용은 Docker(수동 배포)를 참조하십시오.

6. 컨테이너 로그를 확인하여 업그레이드가 성공했는지 확인합니다.

docker logs -f zabbix-proxy-sqlite3

Docker Compose 파일 업그레이드

이 지침은 Zabbix 구성 요소 배포에 사용되는 Docker Compose 파일을 업그레이드합니다. Docker Compose를 사용하여 Zabbix를 설치한 경우 이 지침을 따르십시오.

1. 모든 컨테이너를 확인하여 이름과 현재 이미지 버전을 파악합니다.

docker ps -a

# CONTAINER ID   IMAGE                                             (...) NAMES
# d095f486deef   zabbix/zabbix-server-mysql:alpine-7.2-latest      (...) zabbix-docker-zabbix-server-1
# 70627d833da0   zabbix/zabbix-web-nginx-mysql:alpine-7.2-latest   (...) zabbix-docker-zabbix-web-nginx-mysql-1
# aaaa664cc185   zabbix/zabbix-server-mysql:alpine-7.2-latest      (...) zabbix-docker-server-db-init-1
# 9ab3e77492ff   mysql:8.0-oracle                                  (...) zabbix-docker-mysql-server-1

2. 이전에 복제한 Zabbix Docker 저장소로 이동하여 최신 업데이트를 가져오고 7.4 브랜치로 전환합니다.

로컬 저장소의 .env, compose.yaml 또는 기타 파일을 수정한 경우 git pull로 해당 파일을 덮어쓸 수 있습니다. 이 단계를 실행하기 전에 모든 로컬 변경 사항을 백업하십시오.

cd zabbix-docker
git pull
git checkout 7.4

3. 업데이트된 Docker Compose 파일을 사용하여 Zabbix 구성 요소를 배포합니다.

# With MySQL as the database:
docker compose -f ./compose.yaml up -d

# With PostgreSQL as the database:
docker compose -f ./compose_pgsql.yaml up -d

모든 컨테이너가 다시 생성되고 시작된 후 데이터 수집이 재개되기까지 1~3분이 걸릴 수 있습니다. Zabbix 컨테이너 실행에 대한 자세한 내용은 Docker Compose를 참조하십시오.

4. 컨테이너 로그를 확인하여 업그레이드가 성공했는지 확인합니다(zabbix-docker-zabbix-server-1을 구성 요소의 컨테이너 이름으로 바꾸십시오).

docker logs -f zabbix-docker-zabbix-server-1