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 est un outil puissant pour isoler des applications dans des conteneurs et les faire fonctionner indépendamment de la plate-forme. Si tu utilises Docker, il est souvent important de configurer correctement le fuseau horaire, surtout pour les processus dépendant du temps. Dans cet article, tu apprendras comment utiliser la variable d’environnement TZ dans Docker, à quoi elle sert et quels fuseaux horaires sont disponibles.
Qu’est-ce que la variable d’environnement TZ ?
La variable d’environnement TZ te permet de définir le fuseau horaire pour un conteneur Docker. Par défaut, les conteneurs Docker adoptent le fuseau horaire du système hôte. Mais si tu veux t’assurer que ton conteneur utilise un fuseau horaire spécifique, tu peux le contrôler via la variable TZ.
Pourquoi la configuration des fuseaux horaires est-elle importante ?
Le fuseau horaire correct est essentiel pour
- Horodatage: les applications qui génèrent des horodatages (par exemple dans les logs ou les entrées de base de données) doivent les générer dans le bon fuseau horaire.
- Tâches planifiées: Les tâches Cron ou autres tâches basées sur le temps doivent être exécutées au bon moment local.
- Applications globales: Si ton application est utilisée par des utilisateurs situés dans différents fuseaux horaires, il est important que l’heure soit correctement localisée.
Comment utiliser la variable d’environnement TZ dans Docker ?
Pour définir le fuseau horaire d’un conteneur Docker, tu définis la variable d’environnement TZ au démarrage du conteneur. Cela se fait avec le commutateur -e
(ou --env
), suivi de l’indication du fuseau horaire souhaité.
Exemple : lancer un conteneur avec un fuseau horaire défini
Supposons que tu souhaites lancer un conteneur et définir le fuseau horaire sur “Europe/Berlin”, tu utiliseras la commande suivante :
docker run -e TZ=Europe/Berlin your-docker-image
Cette commande démarre le conteneur et s’assure que le fuseau horaire est défini sur Berlin, quel que soit le fuseau horaire utilisé par le système hôte.
Effets de l’indication du fuseau horaire TZ
Si tu définis la variable TZ, cela aura une influence :
- Heure du système au sein du conteneur: toutes les opérations basées sur l’heure dans le conteneur sont basées sur le fuseau horaire défini.
- Logs et horodatage: chaque donnée temporelle générée (par ex. dans les logs) est éditée dans le fuseau horaire défini.
- Tâches planifiées: Les tâches Cron et autres tâches basées sur le temps s’exécutent au bon moment dans le fuseau horaire indiqué.
Liste des fuseaux horaires disponibles
Docker prend en charge tous les fuseaux horaires gérés par l’IANA (Internet Assigned Numbers Authority). Ces fuseaux horaires sont indiqués au format “région/ville”. Voici une sélection des fuseaux horaires fréquemment utilisés :
- UTC (temps universel coordonné)
- Europe/Berlin
- Europe/Londres
- America/New_York
- America/Los_Angeles
- Asie/Tokyo
- Asie/Shanghai
- Australie/Sydney
- Africa/Johannesburg
- Pacifique/Auckland
Tu peux afficher une liste complète des fuseaux horaires disponibles sur ton système Linux en utilisant la commande suivante :
timedatectl list-timezones
Sinon, tu peux aussi trouver en ligne une liste des fuseaux horaires de l’IANA.