Nơi Docker container có được thông tin thời gian của họ? Tôi đã tạo một số container từ ubfox cơ bản: hình ảnh đáng tin cậy và khi tôi chạy nó và yêu cầu 'ngày', tôi nhận được thời gian UTC.
Trong một lúc, tôi đã khắc phục điều này bằng cách làm như sau trong Dockerfile của mình:
RUN sudo echo "America/Los_Angeles" > /etc/timezone
Tuy nhiên, vì một số lý do mà ngừng hoạt động. Tìm kiếm trực tuyến tôi thấy đề xuất dưới đây:
docker run -v /etc/timezone:/etc/timezone [image-name]
Cả hai phương pháp này đều đặt chính xác múi giờ!
$ cat /etc/timezone
America/Los_Angeles
$ date
Tue Apr 14 23:46:51 UTC 2015
Bất cứ ai biết những gì cho?
-v /etc/localtime:/etc/localtime:ro
(CentOS) loại công việc. Bên trong ngày dòng lệnh container trả về ngày ở định dạng múi giờ dự kiến. NHƯNG jenkins chạy trong container nghĩ rằng múi giờ là UTC. Tại sao? / etc / localtime là một liên kết tượng trưng đến ../usr/share/zoneinfo/UTC trong vùng chứa được xây dựng. Nội dung của tệp UTC trong container hiện là múi giờ mới. Nhưng jenkins (và có lẽ các phần mềm dựa trên java khác) sử dụng tên của symlink vẫn là "UTC". Tìm kiếm giải pháp. . .
Alpine
, bạn cần phải cài đặttzdata
đầu tiên, xem tại đây github.com/gliderlabs/docker-alpine/issues/136