Di mana wadah Docker mendapatkan informasi waktunya? Saya telah membuat beberapa wadah dari ubuntu dasar: gambar tepercaya, dan ketika saya menjalankannya dan meminta 'tanggal', saya mendapatkan waktu UTC.
Untuk sementara saya menyelesaikan ini dengan melakukan hal berikut di Dockerfile saya:
RUN sudo echo "America/Los_Angeles" > /etc/timezone
Namun, untuk beberapa alasan yang berhenti bekerja. Pencarian online Saya melihat saran di bawah ini:
docker run -v /etc/timezone:/etc/timezone [image-name]
Kedua metode ini dengan benar mengatur zona waktu!
$ cat /etc/timezone
America/Los_Angeles
$ date
Tue Apr 14 23:46:51 UTC 2015
Adakah yang tahu apa yang terjadi?
-v /etc/localtime:/etc/localtime:ro
(CentOS) semacam karya. Tanggal baris perintah di dalam kontainer mengembalikan tanggal dalam format zona waktu yang diharapkan. TETAPI jenkins berjalan dalam wadah menganggap zona waktu adalah UTC. Mengapa? / etc / localtime adalah symlink ke ../usr/share/zoneinfo/UTC dalam wadah bawaan. Konten file UTC dalam wadah sekarang menjadi zona waktu baru. Tapi jenkins (dan mungkin perangkat lunak berbasis java lainnya) menggunakan nama symlink yang masih "UTC". Mencari solusi. . .
Alpine
, Anda harus menginstaltzdata
terlebih dahulu, lihat di sini github.com/gliderlabs/docker-alpine/issues/136