docker - apache/nifi docker:如何提交对新容器的更改
问题描述
我是 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
我想保存容器,所以我使用以下命令提交:
docker commit 1e7 apache/nifi:latest2
然后我运行:
docker run --name newnifi -p 8080:8080 -d apache/nifi:latest2
解决方案
这是来自Apache Nifi官方松弛频道的讨论。
看起来流定义存储在flow.xml.gz
目录中/conf
。dockerapache/nifi
映像将此文件夹定义为卷。
定义为卷的目录不会提交到从现有容器创建的映像。https://docs.docker.com/engine/reference/commandline/commit/#extended-description。
这就是为什么处理器和组没有出现在新图像中的原因。
这些是要考虑的替代方案:
- 将文件复制
flow.xml.gz
到新容器。 - 导出流程模板(已弃用但仍可用)。
- 用于
NiFi Registry
存储您的流程定义,然后从那里导入。
推荐阅读
- android - 如何过滤firebase中的值?
- docker - 如何设置 docker nextcloud 以使用 SSL
- tensorflow - add_loss() 如何处理复合模型?
- c# - 如何“禁用”计算列以便应用迁移?
- mysql - 如何在mysql中找到给定数字的范围
- java - RestAssured Groovy gpath findAll 返回一个值,以防它只找到一个匹配项
- r - R包:编写自己的汇总函数(方法)
- git - PR中两个分支之间的GitHub文件更改
- python - 诅咒 Python 中的命令行应用程序
- sql - 从 Oracle 中删除行 ID 最少的重复项