gpt4 book ai didi

docker - docker influxdb在启动时还原数据库

转载 作者:行者123 更新时间:2023-12-02 18:36:27 26 4
gpt4 key购买 nike

Docker新手在这里。

我想用还原的数据库启动docker influxdb实例。

我已经备份了要还原的数据。现在,我想在调用docker-compose时恢复流入数据库。

我有以下Dockerfile:

FROM influxdb:1.7.4-alpine

WORKDIR /app
COPY entrypoint.sh ./

COPY backedUpInfluxDBFolder /tmp/backedUpInfluxDBFolder

RUN chmod u+x entrypoint.sh

ENTRYPOINT ["/app/entrypoint.sh"]

并按以下方式填充entrypoint.sh:
#!/usr/bin/env sh

if [ ! -f "/var/lib/influxdb/.init" ]; then
exec influxd $@ &

until wget -q "http://localhost:8086/ping" 2> /dev/null; do
sleep 1
done

influx -host=localhost -port=8086 -execute="CREATE USER ${INFLUX_USER} WITH PASSWORD '${INFLUX_PASSWORD}' WITH ALL PRIVILEGES"

touch "/var/lib/influxdb/.init"

kill -s TERM %1
fi

exec influxd $@

我想在entrypoint.sh中调用以下命令
influxd restore -portable /tmp/backedUpInfluxDBFolder

我试过将influxd命令放在if语句中,但这似乎不起作用。它创建数据库,但不填充数据库。

我将不胜感激如何解决此问题的任何指示。

提前致谢,

最佳答案

您需要将备份文件复制到容器内的/docker-entrypoint-initdb.d中。

更改:

COPY backedUpInfluxDBFolder /tmp/backedUpInfluxDBFolder



COPY backedUpInfluxDBFolder/* /docker-entrypoint-initdb.d/

我不知道Influx,但我假设备份文件夹包含sql文件? (我的解决方案基于此假设)。

希望这可以帮助。

关于docker - docker influxdb在启动时还原数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55471438/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com