如何在我的ddev容器中设置时区?

时间:2018-05-09 14:06:51

标签: ddev

我经常使用ddev ssh(对于web / nginx容器)或ddev ssh -s db(对于db / mariadb容器),并且在查看日志等时我希望看到日期/时间戳在我自己的时区,所以我不必过多考虑格林威治标准时间。我无法在容器中使用dpkg-reconfigure tzdata,因为容器用户没有root权限。

2 个答案:

答案 0 :(得分:3)

使用额外的docker-compose文件(用于TZ)和php覆盖(用于PHP)很容易。例如,在我的项目中,我有一个.ddev / docker-compose.timezone.yaml,它将这些容器中的TZ变量设置为我的时区,而.ddev / php / tz.ini则设置php的默认时区(php doesn& #39;不再尊重TZ环境变量,请参阅php doc

.ddev /搬运工-compose.timezone.yaml:

version: '3.6'

services:
  web:
    environment:
      - TZ=Europe/Berlin
 db:
    environment:
      - TZ=Europe/Berlin

和.ddev / php / tz.ini:

date.timezone = Europe/Berlin

答案 1 :(得分:0)

从ddev v1.8.0开始,您还可以通过配置.ddev / webimage-build / Dockerfile在Web容器中设置时区。实际上,.ddev / webimage-build / Dockerfile.example确实做到了这一点:

ARG BASE_IMAGE=drud/ddev-webserver:v1.8.0
FROM $BASE_IMAGE
RUN ln -fs /usr/share/zoneinfo/Europe/Berlin /etc/localtime && dpkg-reconfigure --frontend noninteractive tzdata

如上所述,您还希望在.ddev/php/tz.ini中覆盖PHP,

date.timezone = Europe/Berlin