使用默认数据库名称在docker中启动InfluxDB容器

时间:2018-03-02 09:49:16

标签: docker influxdb

我正在运行以下命令来启动InfluxDB容器。这应该创建一个名为defaultdb的新数据库。

docker run -p 8086:8086 \
      -e INFLUXDB_DB=defaultdb -e INFLUXDB_ADMIN_ENABLED=true \
      -e INFLUXDB_ADMIN_USER=admin -e INFLUXDB_ADMIN_PASSWORD=adminpass \
      -e INFLUXDB_USER=user -e INFLUXDB_USER_PASSWORD=userpass \
      -v influxdb:/var/lib/influxdb \
      influxdb:latest 

但它不会创建默认数据库defaultdb。它会创建数据库db0而不是defaultdb。我做错了什么?

https://hub.docker.com/_/influxdb/

提前致谢。

2 个答案:

答案 0 :(得分:0)

问题可能来自卷。

.gm-style-iw {
  background:black;
  border:2px solid black;
  opacity: 0.95;
  color:white;
  margin-top: 65px;    
  margin-left: 68px;
  position: fixed;
}

/*Code to remove arrow and close button*/

.gm-style div div div div div div div div div {
  display: none;
}

.gm-style-iw + div {
  display: none;
}

特别是,如果您之前使用相同的命令创建了数据库但未指定-v influxdb:/var/lib/influxdb ,则此旧数据库将通过旧卷覆盖容器数据。 要解决此问题,请删除旧卷并重新运行命令:

INFLUXDB_DB=defaultdb

答案 1 :(得分:0)

问题归因于INFLUXDB_ADMIN_ENABLED=true行。

文档说明:

  

管理员界面自1.1.0开始不推荐使用   在1.3.0中删除。

我使用的是latest版本(目前)为1.4,因此似乎已弃用INFLUXDB_ADMIN_ENABLED变量存在问题。

删除该行,一切都运行良好。

docker run -p 8086:8086 \
      -e INFLUXDB_DB=defaultdb \
      -e INFLUXDB_ADMIN_USER=admin \
      -e INFLUXDB_ADMIN_PASSWORD=adminpass \
      -e INFLUXDB_USER=user \
      -e INFLUXDB_USER_PASSWORD=userpass \
      -v influxdb:/var/lib/influxdb \
      influxdb:latest