Karn Tirasoontorn

March 10, 2021

ปรับ localtime และ timezone บน Docker

หลังจากที่ได้ทดสอบโปรแกรมให้รันบน Docker และมีการเรียกใช้ scheduler ให้ทำงานเมื่อถึงเวลาที่กำหนดไว้ สิ่งที่พบก็คือ scheduler ที่ตั้งไว้ก็ทำงานจริง แต่เวลาที่โปรแกรมทำงานกับไม่ตรงกับเวลาที่เราต้องการ สาเหตุนั้นก็มาจาก localtime และ timezone บน Docker Container นั้นไม่ตรงกับเวลาของเรา

ดังนั้นสิ่งที่เราทำเพื่อแก้ปัญหา ก็คือการกำหนด localtime และ timezone ให้เป็น Asia/Bangkok ก่อนที่จะสร้าง Docker Image เพียงแค่เพิ่มคำสั่งเข้าไปดังนี้

# set timezone to Asia/Bangkok
echo "Asia/Bangkok" > /etc/timzone
# set localtime to Asia/Bangkok
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Bangkok /etc/localtime