Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
apache/nifi docker:如何提交对新容器的更改_Docker_Apache Nifi - Fatal编程技术网

apache/nifi docker:如何提交对新容器的更改

apache/nifi docker:如何提交对新容器的更改,docker,apache-nifi,Docker,Apache Nifi,我是apache/nifi新手,使用以下工具运行它: docker run --name nifi -p 8081:8080 -d apache/nifi:latest 然后拖动一些处理器。 然后我尝试使用以下方法将它们保存为新图像: docker commit [container ID] apache/nifi:latest 但当我运行新提交的映像时,它不会保存更改。 如果有任何错误,请告诉我。提前谢谢 更新 首先,我推出nifi时使用了: docker run --name nifi

我是apache/nifi新手,使用以下工具运行它:

docker run --name nifi -p 8081:8080 -d apache/nifi:latest
然后拖动一些处理器。 然后我尝试使用以下方法将它们保存为新图像:

 docker commit [container ID] apache/nifi:latest
但当我运行新提交的映像时,它不会保存更改。 如果有任何错误,请告诉我。提前谢谢

更新
首先,我推出nifi时使用了:

docker run --name nifi -p 8081:8080 -d apache/nifi:latest
这是我在web UI上添加的组:

我想保存容器,因此我使用以下命令提交:

docker commit 1e7 apache/nifi:latest2
我们可以在这里看到2幅nifi图像:

然后我跑:

docker run --name newnifi -p 8080:8080 -d apache/nifi:latest2
检查更改是否保存在新图像中。但是Web UI是空的,组不在那里。
docker commit用于根据容器的更改创建新映像,这意味着当您更新或添加新配置或安装新软件时,将创建新的模板映像。只需发出\u容器的
docker stop NAME\u,并在您想重新启动它时发出
docker start NAME\u\u\u容器的

这是针对Apache Nifi的讨论得出的结论

看起来流定义存储在
/conf
目录的
flow.xml.gz
中。 将此文件夹定义为卷

定义为卷的目录不会提交到从现有容器创建的映像
这就是处理器和组没有出现在新映像中的原因

以下是需要考虑的备选方案:

  • flow.xml.gz
    文件复制到新容器中
  • 导出流的模板(已弃用,但仍然可用)
  • 使用
    NiFi注册表
    存储流定义,然后从那里导入

  • 提交图像时,请尝试为特定图像使用与原始图像不相似的图像名称。不同标记确保名称不同。我使用不同的名称,但仍然面临相同的问题@Lamanus您知道如何将此容器另存为图像吗?我想把它放在docker hub上,让其他计算机使用它。谢谢。这没有回答问题,为什么选择它作为批准答案。我也面临同样的问题,寻求解决方案