عامل الميناء حاوية الوقت 2 ساعة وراء عندما تس=سيست

أحاول تشغيل حاوية عامل ميناء مع نفس المنطقة الزمنية كمضيف عامل ميناء. المنطقة الزمنية المضيفة هي CEST.

عندما أركض :

$ dateThu Apr 16 11:04:11 CEST 2020$ docker run -e TZ=CEST debian:buster dateThu Apr 16 09:04:14 CEST 2020

الحاوية هي 2 ساعة وراء المضيف.

من ناحية أخرى ، إذا قمت بتعيين TZ=Europe/Paris، يعمل كما هو متوقع :

$ docker run -e TZ=Europe/Paris debian:buster dateThu Apr 16 11:04:22 CEST 2020

هل هذا خطأ أم أنني أفتقد شيئا?

يتم تعيين المنطقة الزمنية بشكل افتراضي وتحتاج إلى تغييرها يدويا.

هناك بعض الخيارات:

تعيينه في دوكيرفيل:

ENV TZ=America/Los_AngelesRUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

استخدام وحدات التخزين للمزامنة مع المضيف الخاص بك:

volumes:- "/etc/timezone:/etc/timezone:ro"- "/etc/localtime:/etc/localtime:ro"

أو

docker run -v /etc/timezone:/etc/timezone:ro

أخيرا ، قم بتعيينه يدويا ولكن إذا قمت بإعادة تشغيل الحاوية ، فستفقد التكوين:

docker run -e TZ=America/New_York ubuntu date

بعد بعض الأبحاث ، يبدو أن CEST ليست قيمة صالحة ل TZ متغير البيئة. CEST هو مجرد نسخة للعرض من CET عندما التاريخ الحالي هو الصيف.

في الواقع ، إذا قمت بتعيين TZ إلى قيمة غير صالحة بشكل واضح ، فإنه يعطي :

$ TZ=FOO dateFri Apr 17 14:07:56 FOO 2020

لاحظ أيضا أنه لا علاقة له بعامل الإرساء.

المراجع :