使用docker-compose来设置容器时区

我有一个docker-compose文件,运行一些Docker文件来创build我的容器。 我不想编辑我的Dockerfiles来设置时区,因为它们可以随时由我的团队成员更改,我有一个docker-compose.override.yml文件来进行本地环境更改。 然而,我的一个容器(一个基于selenium的容器)似乎不能拉东道时区,这给我造成了问题。 基于此,我想在我的所有容器上强制执行时区。 现在在我的Dockerfiles中

ENV TZ=America/Denver RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone 

一切正常。 如何在docker-compose语法中复制相同的命令?

 version "2" services: serviceA: ... environment: TZ: "America/Denver" command: > sh -c "ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && exec my-main-application" 

编辑:这个问题没有要求它,但我刚刚添加exec my-main-application来显示如何指定主要的进程。 exec在这里很重要,以确保my-main-application接收到Ctrl-C(SIGINT / SIGKILL)。

Interesting Posts