คอนเทนเนอร์ Docker จะรับข้อมูลเวลาได้ที่ไหน ฉันได้สร้างตู้คอนเทนเนอร์จากพื้นฐานอูบุนตู: ภาพที่น่าเชื่อถือและเมื่อฉันเรียกใช้และขอ 'วันที่' ฉันจะได้รับเวลา UTC
สำหรับชั่วขณะหนึ่งฉันได้รับสิ่งนี้โดยทำสิ่งต่อไปนี้ใน Dockerfile ของฉัน:
RUN sudo echo "America/Los_Angeles" > /etc/timezone
อย่างไรก็ตามด้วยเหตุผลบางอย่างที่หยุดทำงาน การค้นหาออนไลน์ฉันเห็นคำแนะนำด้านล่าง:
docker run -v /etc/timezone:/etc/timezone [image-name]
ทั้งสองวิธีเหล่านี้ตั้งเขตเวลาได้อย่างถูกต้อง!
$ cat /etc/timezone
America/Los_Angeles
$ date
Tue Apr 14 23:46:51 UTC 2015
ใครรู้ว่าให้อะไร
-v /etc/localtime:/etc/localtime:ro
เรียงลำดับ (CentOS) ภายในวันที่บรรทัดคำสั่งของคอนเทนเนอร์ส่งคืนวันที่ในรูปแบบเขตเวลาที่คาดไว้ แต่เจนกินส์ที่ทำงานอยู่ในคอนเทนเนอร์คิดว่าเขตเวลาคือ UTC ทำไม? / etc / localtime เป็น symlink ไปที่ ../usr/share/zoneinfo/UTC ในคอนเทนเนอร์ที่สร้างขึ้น เนื้อหาของไฟล์ UTC ในคอนเทนเนอร์เป็นเขตเวลาใหม่แล้ว แต่เจนกินส์ (และอาจเป็นซอฟต์แวร์ที่ใช้จาวาอื่น ๆ ) ใช้ชื่อของ symlink ซึ่งยังคงเป็น "UTC" ค้นหาวิธีแก้ปัญหา . .
Alpine
คุณต้องติดตั้งtzdata
ก่อนดูที่นี่github.com/gliderlabs/docker-alpine/issues/136