apache/nifi docker:如何提交对新容器的更改
我是apache/nifi新手,使用以下工具运行它: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
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上,让其他计算机使用它。谢谢。这没有回答问题,为什么选择它作为批准答案。我也面临同样的问题,寻求解决方案