docker-compose - 如何使用 docker-compose 保留 nifi 流文件?

标签 docker-compose apache-nifi

现在我正在使用 nifi 及其处理器来处理一些流媒体内容(mqtt 监听器、json 评估、文本替换、写入 db ......)。
我正在尝试保留流文件,因此我做了一些卷映射(见下文)。
但它不起作用;重新启动容器后,流文件似乎没有保存......

谁能给我一个提示如何解决这个问题?

nifi:
image: apache/nifi
restart: on-failure
ports:
  - "8000:8000"
networks:
  - traefik
environment:
  - NIFI_WEB_HTTP_PORT=8000
volumes:
  - nifi_conf:/opt/nifi/conf
  - nifi_state:/data/nifi/state
  - nifi_db:/opt/nifi/database_repository
  - nifi_flowfile:/opt/nifi/flowfile_repository
  - nifi_content:/opt/nifi/content_repository
  - nifi_provenance:/opt/nifi/provenance_repository 


volumes:
 nifi_provenance:{}
 nifi_flowfile: {}
 nifi_content: {}
 nifi_db: {}
 nifi_state: {}
 nifi_conf: {}

谢谢。

最佳答案

您可以将 docker 容器文件夹直接映射到主机,如下所示:

services:
  nifi:
    ...
    volumes:
      - ./conf:/opt/conf
      - ./nifi_state:/data/nifi/state
      ...

不需要额外的卷定义

请注意,在带有 virtualbox 的 Windows 下,此功能仅适用于当前用户目录。

关于docker-compose - 如何使用 docker-compose 保留 nifi 流文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55325999/

相关文章:

docker - 使用 Docker Compose 启动多节点集群 - 在哪里配置主机实际名称?

php - Symfony 服务器 :run in php Docker container

regex - 在映射文件中对多列使用 ReplaceTextWithMapping

docker - 运行多个网站-Docker Compose

docker - ECS任务停止,容器退出。可执行文件不在 $PATH 中

node.js - 使用docker连接nodejs和mongo

configuration - 更改正在运行的 Kubernetes Pod 中的配置

带 Apache Nifi 的 SSL 不工作

json - 尼菲 : Merge an Attribute into the Flow-file's JSON Content (without overwriting the entire flowfile)

mysql - NiFi 中的命名约定