When setting TZ using an environmental variable on the docker command line (-e TZ=xxx), /etc/timezone inside a container remains the default. It only physically changes when using a volume to overload it. In either case, the Gateway starts using the specified timezone.
Setting TZ in the environment before starting a process is common for docker programs to initialize or overload options in containers processes. In this case, it is not a guarantee other processes that start inside the container (manually or otherwise) won’t have issues as Riccardo frets about.
What: Overloading /etc/localtime using a volume:
To be complete, I tried again to mount a volume to overload /etc/localtime in the container referencing the physical file /etc/localtime points to using this docker option:
-v /usr/share/zoneinfo/America/Chicago:/etc/localtime:ro
The volume failed to overload the symlink: /etc/localtime, inside the container which still is linked to a local physical file …ETC/UTC. Probably related to volumes overloading symlinks and my Ubuntu server.
root@elelinux:/home/node# ls -l /etc/localtime
lrwxrwxrwx 1 root root 27 Dec 23 18:00 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC
Thanks for updating the instructions on the Docker readme.
Note that I will attempt to debug the DateTime errors next. Hopefully they will disappear over a day or 3 and a restart or 2 Could they be dangling/orphaned timer events linked to removed things?
Note 2: My log also spouts errors about deleted/removed add-ons that did not clean up and remove themselves properly, but I digress for now and will leave that for later.
Eric L. Edberg