Звідки контейнери Docker беруть інформацію про час? Я створив кілька контейнерів з базового ubuntu: вірного зображення, і коли я запускаю його і запитую 'дата', я отримую час 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 - це посилання на ../usr/share/zoneinfo/UTC у вбудованому контейнері. Вміст файлу UTC в контейнері тепер є новим часовим поясом. Але jenkins (і, можливо, інше програмне забезпечення на базі Java) використовують назву симпосилання, яке досі є "UTC". Пошук рішення. . .
Alpine
, вам потрібно встановитиtzdata
спочатку, дивіться тут github.com/gliderlabs/docker-alpine/isissue/136