docker - 使用 docker 在机器之间持久化 influxDB 数据
问题描述
我在 docker 容器中运行的 influxDB 中的数据持久性存在问题。influxDB 容器由以下 docker-compose 文件启动:
services:
influxdb:
image: influxdb:1.8.6
restart: always
container_name: influxDB
volumes:
- ./influxDB_data:/var/lib/influxdb
ports:
- "8083:8083"
- "8086:8086"
environment:
- INFLUXDB_ADMIN_USER=admin
- INFLUXDB_ADMIN_PASSWORD=xxxx
- INFLUXDB_DB=openhab_db
所以数据应该保存在本地文件夹中./influxDB_data
,当我关闭docker-compose down
并重新启动docker-compose up -d
容器时,情况似乎就是这样,因为所有时间序列数据仍然存在。
但是,如果我关闭容器并将所有文件从本地./influxDB_data
文件夹移动到另一台机器并在那里启动容器,则只有数据库设置被持久化,所有系列数据都将丢失。似乎并非所有来自 influx 的数据都存储在/var/lib/influxdb
(可能在 ram 中或不同的位置?)。但是如果是这样的话,为什么数据首先要持久化在同一台机器上呢?有谁知道如何解决这个问题?
解决方案
推荐阅读
- variables - UnboundLocalError:分配前引用的局部变量“范围”
- javascript - 在反应中渲染html div
- node.js - 在 WSL2 中运行时无法从浏览器访问 Express 服务器
- python - 为什么在抓取linkedin时网页没有加载?
- html - 如何为矩形元素CSS添加圆角帽形
- c - 解释为什么while循环没有检查条件?
- bash - 如何在我自己的脚本选项中使用 bash `compgen`?
- laravel - 创建一个 .txt 文件并将其存储在 Laravel 的特定文件夹中
- javascript - 转轮结果已被控制
- timer - 使用 ATmega48PA 中断时的未定义行为