Table des matières

, ,

Docker: Définir le fuseau horaire du conteneur

Plusieurs possibilités:

Définir le fuseau horaire (timezone) directement grâce à la variable d'environnement TZ dans le fichier docker-compose ou le Dockerfile.

Le conteneur doit cependant avoir installé le paquetage tzdata.
FROM debian:stretch-slim
ENV TZ="Europe/Paris"
RUN date
CMD /bin/sh

Dasn le docker-compose

version: "3.3"

services:

  my_service:
    image: my_image:version
    restart: unless-stopped
    environment:
      - TZ=Europe/Paris

Utiliser le fuseau horaire de l’hôte

Si l'on souhaite que le conteneur utilise le même fuseau que l’Hôte, il est possible de monter en lecture les fichiers de configuration de l’Hôte via le fichier docker-compose:

version: "3.3"

services:

  my_service:
    ...
    volumes:
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro

Édition des fichiers dans le conteneur

# Ouvrir une console administrateur en mode interactif
docker-compose exec -u root dokuwiki /bin/bash
 
 
# Remplacer le fichier ou le lien symbolique /etc/localtime par le fichier timezone désiré
# présent dans le répertoire /usr/share/zoneinfo
 
rm -fr /etc/localtime
ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime
 
# Vérifier la modification
date

Références