[comment]: # ({857906ba-e1f5ce3f})
# 3 Actualització des dels contenidors

[comment]: # ({/857906ba-e1f5ce3f})

[comment]: # ({23da9739-236aea13})
### Vista general

Aquesta secció descriu les passes necessàries per a una [actualització](/manual/installation/upgrade) exitosa als contenidors Zabbix **7.0**.x.

Hi ha diferents conjunts d'instruccions disponibles per:

- [Actualitzar les imatges del component Zabbix](#zabbix-image-upgrade)
- [Actualitzar els arxius de Docker Compose](#compose-files).

::: notewarning
Abans de l'actualització, assegureu-vos de llegir les [**notes d'actualització**](/manual/installation/upgrade) corresponents!!
:::

::: noteimportant
Abans d'iniciar l'actualització, verifiqueu que els usuaris tinguin els permisos necessaris per a la base de dades per a l'actualització.
<br><br>
Per a les actualitzacions de Zabbix 6.0 o anteriors, caldrà crear triggers deterministes durant l'actualització.
Si el registre binari és habilitat per a MySQL/MariaDB, això requereix privilegis de superusuari o establir la variable/paràmetre de configuració `log_bin_trust_function_creators = 1`.
Consulteu [Scripts de creació de bases de dades](/manual/appendix/install/db_scripts#mysqlmariadb) per obtindre instruccions sobre com configurar la variable.
<br><br>
Tingueu en compte que si s'executa des d'una consola, la variable només s'establirà temporalment i s'esborrarà quan es reiniciï un Docker.
En aquest cas, mantingueu el vostre servei SQL en funcionament, només atureu el servei zabbix-server executant 'docker compose down zabbix-server' i després 'docker compose up -d zabbix-server'.
<br><br>
Alternativament, podeu establir aquesta variable al fitxer de configuració.
:::

Depenent de la mida d'una base de dades, l'actualització a la versió 7.0 pot trigar molt.

[comment]: # ({/23da9739-236aea13})

[comment]: # ({70ae2ebf-27011b38})

### Actualització de la imatge de Zabbix

Aquestes instruccions actualitzen les vostres imatges Docker com a base per als vostres contenidors de components de Zabbix.

Les passes que s'indiquen tot seguit empren un proxy Zabbix com a exemple.
Substituïu `zabbix-proxy-sqlite3` pel nom de la imatge del component necessari.

1\. Comproveu tots els contenidors per identificar els seus noms les versions d'imatge actuals:

```bash
docker ps -a

# CONTAINER IDIMAGE(...) NAMES
# 5a0c2e3d02b4zabbix/zabbix-proxy-sqlite3:alpine-6.4-latest(...) zabbix-proxy-sqlite3
```

2\. Traieu la nova versió de la imatge:

```bash
    docker pull zabbix/zabbix-proxy-sqlite3:alpine-7.0-latest
```

3\. Atureu el contenidor:

```bash    
    docker stop zabbix-proxy-sqlite3
```

4\. Esborreu el contenidor:

::: Nota important
Assegureu-vos que heu observat totes les banderes de configuració i els muntatges de volum emprats a l'ordre original `docker run` abans de procedir, ja que seran necessàries per recrear el contenidor.
:::

```bash
    docker rm zabbix-proxy-sqlite3
```

5\. Engegueu un nou contenidor amb la imatge actualitzada:

```bash
    docker run --name zabbix-proxy-sqlite3 \
    -e ZBX_SERVER_HOST=192.0.2.0 \
    -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.0-latest
```

::: noteclassic
Per tindre més informació sobre executar els contenidors de Zabbix, veieu [Docker (desplegament manual)](/manual/installation/containers#docker-manual-deployment).
:::
 
6\. Verifiqueu que l'actualització ha estat correcta revisant els registres del contenidor:

```bash
    docker logs -f zabbix-proxy-sqlite3
```

[comment]: # ({/70ae2ebf-27011b38})

[comment]: # ({9b5b55d2-d707ad1d})

### Actualització de fitxers Docker Compose

Aquestes instruccions actualitzen els fitxers Docker Compose utilitzats per implementar components de Zabbix.
Seguiu les instruccions d'actualització d'aquesta secció, si heu instal·lat Zabbix emprant [Docker Compose](/manual/installation/containers#docker-compose).

1\. Comproveu tots els contenidors per identificar els seus noms i versions d'imatge actuals:

```bash
     docker ps -a

# CONTAINER IDIMAGE(...) NAMES
# d095f486deefzabbix/zabbix-server-mysql:alpine-6.4-latest(...) zabbix-docker-zabbix-server-1
# 70627d833da0zabbix/zabbix-web-nginx-mysql:alpine-6.4-latest(...) zabbix-docker-zabbix-web-nginx-mysql-1
# aaaa664cc185zabbix/zabbix-server-mysql:alpine-6.4-latest(...) zabbix-docker-server-db-init-1
# 9ab3e77492ffmysql:8.0-oracle(...) zabbix-docker-mysql-server-1
```

2\. Navegueu al repositori Zabbix Docker que heu clonat prèviament, tireu les darreres actualitzacions i canvieu a la branca 7.0:

::: Nota important
Si heu modificat `.env`, `compose.yaml`, o altres fitxers del vostre repositori local, un `git pull` pot sobreescriure'ls.
Feu còpia de seguretat de qualsevol canvi local abans d'executar aquesta passa.
:::

```bash
     cd zabbix-docker
     git pull
     git checkout 7.0
```

3\. Desplegueu els components de Zabbix emprant l'arxiu Docker Compose actualitzat:

```bash
# Amb MySQL com a base de dades:
docker compose -f ./compose.yaml up -d

# Amb PostgreSQL com a base de dades:
docker compose -f ./compose_pgsql.yaml up -d
```

::: noteclassic
Després de recrear i engegar tots els contenidors, pot trigar 1-3 minuts abans que es reprengui la recopilació de dades.
Per obtindre més informació sobre l'execució dels contenidors de Zabbix, veieu [Docker Compose](/manual/installation/containers#docker-compose).
:::

4\. Comproveu que l'actualització va funcionar comprovant els registres del contenidor (substituïu `zabbix-docker-zabbix-server-1` amb el nom del contenidor del vostre contenidor):

```bash
     docker logs -f zabbix-docker-zabbix-server-1
```

[comment]: # ({/9b5b55d2-d707ad1d})
