Comment synchroniser l'heure du serveur avec Docker ?
Quand je développe des applications sur mesure avec Remix, j'utilise Docker pour virtualiser l'environnement de développement. Cela permet notamment d'avoir une configuration unique pour tous les développeurs de votre équipe, qu'ils utilisent Window, macOS ou Ubuntu.
En développant une nouvelle feature, j'ai remarqué quelque chose de surprenant ...
les dates sauvegardées dans ma base de données étaient décalées de deux heures.
Je me suis connecté en ssh sur le VPS (Virtual Private Server) pour configurer le fuseau horaire de mon serveur API.
Vous pouvez la connaître en rentrant cette commande dans votre terminal :
1timedatectl
A ma grande surprise, l'heure était déjà synchronisée ! Cependant, le fuseau horaire ne l'était pas dans mon conteneur Docker
Voici un exemple d'un configuration conteneur Dockerfile pour synchroniser l'heure de Paris
12# Installation d'une version allégée de Node 1834FROM node:18-bullseye-slim56# Installation du paquet tzdata qui permet de modifier le fuseau horaire78RUN apt-get update && apt-get install -y tzdata910# Nous souhaitons utiliser le fuseau horaire de Paris1112ENV TZ=Europe/Paris13RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone