问题描述
我正在使用一个商业第三方 docker 容器来处理由 stdio 定义的文件,例如cat ~/$FILE | docker run -i vendor_container:tag
或通过设置为固定文件位置 /filename
的文件,例如docker run -i -v ~/$FILE:/input.file vendor_container:tag
。按照设计,系统设置为运行一次,然后容器完成。要处理另一个文件,需要运行一个新实例。
我正在努力将其集成到 Kubernetes 环境中,目的是通过事件系统获取文件数据并创建一个作业/knative 函数来即时执行处理。我遇到的问题是我不知道在系统被事件触发之前文件是什么。我正在构建一个 init 容器或 side car 来协调交互,但我不知道如何写入 stdio 或从 sidecar 容器写入 /input.file
以在主容器中进行处理。>
我一直在尝试使用 emptyDir
卷来处理此问题,但由于文件必须存储在 /
上,因此我无法在此处挂载目录。由于容器是来自第三方供应商的商业产品,我无法修改容器内的监视文件位置。
有没有办法在 /
上写入共享文件以便容器可以共享内容,或者从 pod 中的另一个容器写入一个容器的 stdio?有没有我没有想到的其他解决方法?
我正在尝试的音量配置是...
...
volumeMounts:
- mountPath: "/"
name: input-dir
...
volumes:
- name: input-dir
emptyDir: {}
产生此错误:
invalid mount config for type "bind": invalid specification: destination can't be '/'
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)