KyleBlog.cn 文章 标签 关于
文章 标签 关于

给InfluxDB的docker镜像添加初始化脚本

我们希望docker在创建新的InfluxDB容器时,自动执行一些初始化命令,比如创建database、retention policy。

创建初始化脚本

假设文件名是setup_influxdb.sh,内容如下:

influx -execute "CREATE DATABASE mydb"  # 创建mydb数据库
influx -execute "CREATE RETENTION POLICY one_month ON mydb DURATION 30d REPLICATION 1 DEFAULT"  # mydb只保留最近一个月数据

创建Dockerfile文件

文件名是Dockerfile,注意没有扩展名,内容如下:

FROM influxdb
COPY setup_influxdb.sh /docker-entrypoint-initdb.d/setup_influxdb.sh  

InfluxDB容器首次启动时,会执行/docker-entrypoint-initdb.d/中的脚本。

验证效果

确保setup_influxdb.shDockerfile这两个文件在同一个文件夹中,cd在该文件夹中,执行如下命令:

docker build -t myinflux .
docker run --name demo -d myinflux

访问demo容器上,看是不是已经存在mydb数据库了。

本文为kyleblog.cn原创,转载请注明出处:https://www.kyleblog.cn/posts/influxdb_docker_init

发布日期:2022-07-14 联系作者