Some of the links shared in this post are affiliate links. If you click on the link and make a purchase, we will receive an affiliate commission at no additional cost to you.
Docker è un potente strumento per isolare le applicazioni in contenitori ed eseguirle in modo indipendente dalla piattaforma. Quando si utilizza Docker, spesso è importante configurare correttamente il fuso orario, soprattutto per i processi che dipendono dal tempo. In questo articolo scoprirai come utilizzare la variabile d’ambiente TZ in Docker, a cosa serve e quali sono i fusi orari disponibili.
Che cos’è la variabile d’ambiente TC?
La variabile d’ambiente TZ ti permette di impostare il fuso orario di un container Docker. Per impostazione predefinita, i contenitori Docker adottano il fuso orario del sistema host. Tuttavia, se vuoi assicurarti che il tuo contenitore utilizzi un fuso orario specifico, puoi controllarlo utilizzando la variabile TZ.
Perché la configurazione del fuso orario è importante?
Il fuso orario corretto è fondamentale per:
- Timestamp: le applicazioni che generano timestamp (ad esempio nei log o nelle voci dei database) devono generarli nel fuso orario corretto.
- Attività pianificate: I lavori Cron o altre attività basate sul tempo devono essere eseguiti all’ora locale corretta.
- Applicazioni globali: Se la tua applicazione viene utilizzata da utenti con fusi orari diversi, è importante che l’ora sia localizzata correttamente.
Come utilizzare la variabile d’ambiente TZ in Docker
Per specificare il fuso orario di un contenitore Docker, imposta la variabile d’ambiente TZ all’avvio del contenitore. Questo si fa con l’opzione -e
(o --env
), seguita dall’indicazione del fuso orario desiderato.
Esempio: avvio del contenitore con un fuso orario definito
Supponendo di voler avviare un container e di voler impostare il fuso orario su “Europa/Berlino”, usa il seguente comando:
dockerrun -e TZ=Europe/Berlinyour-docker-image
Questo comando avvia il contenitore e assicura che il fuso orario sia impostato su Berlino, indipendentemente dal fuso orario utilizzato dal sistema host.
Effetti della specifica del fuso orario TC
Se imposti la variabile TZ, questo ha un effetto:
- Ora del sistema all’interno del contenitore: tutte le operazioni che dipendono dall’ora nel contenitore si basano sul fuso orario definito.
- Log e timestamp: ogni voce temporale generata (ad esempio nei log) viene emessa nel fuso orario specificato.
- Attività programmate: I lavori Cron e altre attività basate sul tempo vengono eseguiti all’ora corretta nel fuso orario specificato.
Elenco dei fusi orari disponibili
Docker supporta tutti i fusi orari gestiti dalla IANA (Internet Assigned Numbers Authority). Questi fusi orari sono specificati nel formato “Regione/Città”. Ecco una selezione dei fusi orari più utilizzati:
- UTC (Tempo Universale Coordinato)
- Europa/Berlino
- Europa/Londra
- America/New_York
- America/Los_Angeles
- Asia/Tokyo
- Asia/Shanghai
- Australia/Sydney
- Africa/Johannesburg
- Pacifico/Auckland
Puoi visualizzare un elenco completo dei fusi orari disponibili sul tuo sistema Linux con il seguente comando:
timedatectlelenca i fusiorari
In alternativa, puoi trovare un elenco dei fusi orari IANA anche online.