Onde os contêineres do Docker obtêm suas informações de horário? Criei alguns contêineres a partir da imagem básica do ubuntu: trusty, e quando executo e solicito 'date', recebo a hora UTC.
Por um tempo, eu resolvi isso fazendo o seguinte no meu Dockerfile:
RUN sudo echo "America/Los_Angeles" > /etc/timezone
No entanto, por algum motivo, isso parou de funcionar. Pesquisando online, vi o abaixo sugerido:
docker run -v /etc/timezone:/etc/timezone [image-name]
Ambos os métodos definem corretamente o fuso horário!
$ cat /etc/timezone
America/Los_Angeles
$ date
Tue Apr 14 23:46:51 UTC 2015
Alguém sabe o que dá?
-v /etc/localtime:/etc/localtime:ro
(CentOS) meio que funciona. A data da linha de comando do contêiner interno retorna a data no formato de fuso horário esperado. Mas o jenkins executado no contêiner acha que o fuso horário é UTC. Por quê? / etc / localtime é um link simbólico para ../usr/share/zoneinfo/UTC no contêiner criado. O conteúdo do arquivo UTC no contêiner agora é o novo fuso horário. Mas os jenkins (e talvez outro software baseado em java) usam o nome do link simbólico que ainda é "UTC". Procurando por solução. . .
Alpine
, precisará instalartzdata
primeiro, consulte aqui github.com/gliderlabs/docker-alpine/issues/136