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

使用默认数据库名在docker中启动XDB容器,docker,influxdb,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_

我正在运行以下命令来启动
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
。我做错了什么


提前谢谢。

问题可能是因为音量太大

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

docker volume rm influxdb

问题是由于
INFLUXDB\u ADMIN\u ENABLED=true
行引起的

文件规定:

从1.1.0开始,管理员界面已被弃用,将被删除 在1.3.0中删除

我使用的是
最新的
版本,它(目前)是
1.4
,因此似乎不推荐的
INFLUXDB\u ADMIN\u 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 

该命令直接取自文档。谢谢你的帮助,亚曼克。答案在我的回答中解释了。这正是发生在我身上的事情。tnx