أين حاويات عامل الميناء الحصول على المعلومات وقتهم? لقد خلق بعض الحاويات من أوبونتو الأساسية:صورة مضمونة ، وعندما تشغيله وطلب 'تاريخ' ، أحصل على الوقت أوتك.
لحظة حصلت حول هذا عن طريق القيام بما يلي في بلدي دوكيرفيل:
RUN sudo echo "America/Los_Angeles" > /etc/timezone
ومع ذلك ، لسبب ما توقف عن العمل. البحث على الانترنت رأيت أدناه اقترح:
docker run -v /etc/timezone:/etc/timezone [image-name]
كل من هذه الأساليب تعيين المنطقة الزمنية بشكل صحيح على الرغم من!
$ cat /etc/timezoneAmerica/Los_Angeles$ dateTue Apr 14 23:46:51 UTC 2015
السر هنا هو أن dpkg-reconfigure tzdata ببساطة يخلق /etc/localtime كنسخة ، هاردلينك أو الارتباط الرمزي (يفضل الارتباط الرمزي) إلى ملف في /usr/share/zoneinfo. لذلك فمن الممكن أن تفعل هذا تماما من دوكيرفيل الخاص بك. النظر:
هذا غير صحيح لأنه لا يعمل عندما يتطلب البرنامج بدلا من الملف /etc/timezone سيتم تعيين. وبهذه الطريقة كنت تستخدم يترك على أنها القيمة الافتراضية etc/UTC.
لقد قررت أنه في الواقع لا توجد طريقة أنيقة مضمونة لتعيين المنطقة الزمنية داخل حاوية عامل الميناء. لذلك استقرت أخيرا على هذا الحل:
بفضل فونك للحصول على المعلومات وصلة لهذه القضية. هذا يبدو وكأنه مثل هذه الفوضى الملتوية ، لذلك فعلت بعض التجارب على فكرتي الخاصة عن كيفية حل هذا ويبدو أن العمل العظيم.
>docker run -it ubuntu:trusty /bin/bash#dpkg-reconfigure tzdata
(اتبع المطالبات لتحديد المنطقة الزمنية الخاصة بي)
>docker commit [container-id] chocko/ubuntu:local
ثم قمت بتحديث ملفات الإرساء الخاصة بي لتعكس هذا:
FROM chocko/ubuntu:local
يجب أن يكون هناك شيء خاطئ في هذا لأنه يبدو من السهل جدا التغاضي عنه... أم أن هذا مقبول?