使用默认数据库名在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