首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker InfluxDB在UTC时区运行

Docker InfluxDB在UTC时区运行
EN

Stack Overflow用户
提问于 2019-08-23 05:58:08
回答 3查看 2.6K关注 0票数 2

我尝试将进水b作为一个码头容器运行。我用的是码头作曲:

代码语言:javascript
复制
influxdb:
  image: influxdb:1.7.7-alpine
  ports:
  - "8083:8083"
  - "8086:8086"
  - "8090:8090"
  volumes:
  - ./influxdb-data:/var/lib/influxdb
  networks:
    - mynet
  expose:
    - "8086"
  environment:
    TZ: Europe/Prague

问题是时区。我不知道如何在本地时区启动InfluxDB,在这里您可以看到问题:

代码语言:javascript
复制
[michal@motoko ~]$ LC_ALL=C date
Fri Aug 23 07:38:44 CEST 2019
[michal@motoko ~]$ LC_ALL=C influx -host 'localhost'
Connected to http://localhost:8086 version 1.7.7
InfluxDB shell version: 1.7.7
> use test Using database test
> insert test value=4 
> precision rfc3339
> select * from test
name: test
time                           value
----                           ----
2019-08-23T05:39:09.017460215Z 4
>

如您所见,我的机器上的实时时间是"07:38:44“,而数据库中存储的时间戳是"05:39:09”。我在UTC+2时区。

码头中的InfluxDB能在我的本地时区运行吗?我尝试过设置TZ变量,但是InfluxDB可能需要/etc/timezone。我还没有找到这方面的InfluxDB配置参数。

还是我需要在每个查询中使用tz()?这样做是正确的:

代码语言:javascript
复制
> select * from test tz('Europe/Prague')
name: test
time                                value
----                                -----
2019-08-23T07:39:09.017460215+02:00 4
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-08-28 13:49:51

正如注释中提到的,默认情况下,InfluxDB时区是不可变的。但是,正如您提到的,您可以使用tz()命令来设置时区。

一个可能的解决方案是将您的时区存储在InfluxDB上,并在查询中使用它。

票数 2
EN

Stack Overflow用户

发布于 2022-07-08 00:33:16

在InfluxDB中,以纳秒精度Unix时间为单位的数据点的时间戳。时间戳是行协议中可选的。如果没有为数据点指定时间戳,InfluxDB将在UTC中使用服务器的本地纳秒时间戳。因此,当您插入数据时,没有指定时间戳。数据的时间戳是机器上的实时时间。但你可以试着:

代码语言:javascript
复制
SELECT_clause [INTO_clause] FROM_clause [WHERE_clause] [GROUP_BY_clause] [ORDER_BY_clause] [LIMIT_clause] [OFFSET_clause] [SLIMIT_clause] [SOFFSET_clause] tz('<time_zone>')

tz()子句返回指定时区的UTC偏移量。

或者您只需更改码头容器的默认设置即可。

票数 1
EN

Stack Overflow用户

发布于 2022-06-28 19:58:47

InfluxDB 2.0+

在停靠-撰写中插入以下内容:

代码语言:javascript
复制
environment:
  - TZ=Europe/Prague

然后在容器内部检查变量TZ是否存在并更改日期。若要检查,请连接到容器docker exec -it influxdb-container bash

代码语言:javascript
复制
date
Tue Jun 28 21:57:31 CEST 2022
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57620589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档