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

场景

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

1. 创建初始化脚本

假设叫setup_influxdb.sh,内容如下:

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

2. 创建Dockerfile文件

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

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

3. 验证效果

docker build -t myinflux .
docker run -d myinflux

连接到myinflux容器上,看是不是已经存在mydb数据库了。

原文地址:https://www.cnblogs.com/beynol/p/13804452.html