我经常使用ddev ssh(用于 web/nginx 容器)或ddev ssh -s db(用于 db/mariadb 容器),并且在查看日志等时,我希望在我自己的时区中查看日期/时间戳,这样我就不必费力思考了从格林威治标准时间到大约多少小时。我不能dpkg-reconfigure tzdata在容器中使用,因为容器用户没有 root 权限。
2019 年 6 月 24 日更新:从 ddev v1.9.0+ 开始,您可以在 .ddev/config.yaml:timezone: Europe/London中进行ddev config --timezone=Europe/London配置,例如,或者这会同时配置容器的时区和 php 的默认时区。
同样在 v1.9.0 中,容器中的时区默认为 UTC。
旧 docker-compose.*.yaml 答案:
使用额外的 docker-compose 文件(用于 TZ)和 php 覆盖(用于 PHP)很容易做到这一点。例如,在我的项目中,我有一个 .ddev/docker-compose.timezone.yaml 将这些容器中的 TZ 变量设置为我的时区和一个 .ddev/php/tz.ini 为 php 设置默认时区(php 没有不再尊重 TZ 环境变量,请参阅php doc。
.ddev/docker-compose.timezone.yaml:
version: '3.6'
services:
web:
environment:
- TZ=Europe/Berlin
db:
environment:
- TZ=Europe/Berlin
Run Code Online (Sandbox Code Playgroud)
和 .ddev/php/tz.ini:
date.timezone = Europe/Berlin
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1236 次 |
| 最近记录: |