大家好,ServerFault 社区。
我需要你的帮助来解决一个相当烦人的边缘问题,我希望它可以激发一个普遍有用的解决方案:
我需要一个类似于 sidecar 容器的解决方案,但它:
- 无需提前申报
- 不需要重新启动主应用容器
- 不需要主机上的 root 权限
- 可以插入而不对应用程序容器进行持久更改,或者在我完成后可以轻松还原更改
- 理想情况下可以让我监控/安装全部的在另一个调试容器上访问应用容器的文件系统,并执行仅在这个调试 sidecar 容器中存在的命令/工具
我的具体问题: 我有一个长期运行的遗留系统的docker容器,其中只有应用程序在运行,没有可用的shell。
应用程序创建的某些文件不在持久卷中,我需要在适当的时间即时访问它们,以便使用未安装在容器或主机中的附加工具/命令进行调试。
这是一个 PROD 系统,问题很难捉摸,似乎只有这个容器适合调试该特定情况。出于安全原因,我无法使用更新的配置重新启动容器以将所需的文件系统位置放置在持久卷中。
我已经尝试将所有内容从容器复制到主机,甚至使用主机上的根目录来访问主机上可见的容器文件系统结构,但这种解决方案并不能提供所有内容,而且从长远来看无论如何都是不可行的。
这不是第一次我偶然发现了这种解决方案可能有帮助的情况,因此我将感谢任何主流容器平台的解决方案,而且我猜其他人也遇到过这个问题。
已经发布了类似的问题:如何将文件系统从一个容器导出到另一个容器 但这和我的情况不太一样。
任何符合上述观点的解决方案都非常受欢迎。
请帮忙。