Search code examples
datetimedockercontainers

Docker Timezone in Ubuntu 16.04 Image


I have created a Docker container using the Ubuntu 16.04 image.

docker run -it -d --name containername -v /var/www/public --privileged ubuntu

after creating the container, I checked the date inside the container:

$ date
Tue Oct 25 08:10:34 UTC 2016

But, I need it to use the Asia/Kolkata timezone. So I tried changing the /etc/timezone file, then docker stop and docker start the container, but it doesn't work. It still shows the same time.

How can I change the time zone in the Docker container after creating it?


Solution

  • Updating /etc/timezone is the usual way, but there's a bug in Xenial which means that doesn't work.

    Instead you need to create a link from the desired timezone to etc/localtime:

    FROM ubuntu:xenial     
    RUN ln -fs /usr/share/zoneinfo/US/Pacific-New /etc/localtime && dpkg-reconfigure -f noninteractive tzdata