首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从主机安装实时数据库(实时同步)

从主机安装实时数据库(实时同步)
EN

Stack Overflow用户
提问于 2022-10-21 03:51:21
回答 1查看 49关注 0票数 2

我的目标是在host机器上运行一个程序,该程序将数据写入sqlite数据库,然后将其传输(挂载)到一个码头--编写运行Grafana的Grafana。

可以通过以下配置来完成此操作

代码语言:javascript
复制
grafana:
    container_name: grafana
    networks:
      - backend
    image: grafana/grafana:latest
    volumes:
      - ../database/database.sqlite:/home/grafana/database.sqlite
      - ./grafana/grafana.ini:/etc/grafana/grafana.ini
      - ./grafana/datasource.yml:/etc/grafana/provisioning/datasources/datasource.yaml
    ports:
      - 3000:3000

networks:
  backend:

volumes:
  grafana_data:
    external: true

但是,这只会在创建时挂载DB,任何写入db的新更改都不会反映在容器上。

我怎么才能解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-24 04:05:50

可以挂载一个活动的db (在本例中,我使用SqliteGrafana中进行仪表板可视化)。docker-compose.yml如下:

sqlite将存在,将被写入并从host machine中读取,这反过来将是binded到码头容器。

代码语言:javascript
复制
grafana:
    container_name: grafana
    networks:
      - backend
    image: grafana/grafana:latest
    volumes:
      - type: bind
        source: database/database.sqlite
        target: /home/grafana/database.sqlite # needs to be absolute
      - ./grafana/grafana.ini:/etc/grafana/grafana.ini
      - ./grafana/datasource.yml:/etc/grafana/provisioning/datasources/datasource.yaml
    ports:
      - 3000:3000

networks:
  backend:

volumes:
  grafana_data:
    external: true

请记住,如果您使用的是PRAGMA journal_mode=WAL;,则在日志关闭之前,docker container将不会反映更改。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74148603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档