![Docker 存储应用程序生成的内容和调用 ffmpeg 的最佳实践?](https://linux22.com/image/663232/Docker%20%E5%AD%98%E5%82%A8%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%94%9F%E6%88%90%E7%9A%84%E5%86%85%E5%AE%B9%E5%92%8C%E8%B0%83%E7%94%A8%20ffmpeg%20%E7%9A%84%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5%EF%BC%9F.png)
我有这个设置
- 容器 #1 “web”
- 容器 #2 “db”
现在,这个 Web 容器包含使用 ffmpeg 录制流的应用程序。问题是我不太确定在哪里存储录制的流,以及我是否应该在 Web 应用程序 Docker 或基础系统上安装 ffmpeg。包含该应用程序的 Docker Web 容器将调用 ffmpeg true shell 脚本。
那会是什么呢:
- 存储我的应用程序生成的数据(记录的流)的最佳位置是 Web 容器还是基本系统文件系统?
- 是否可以调用安装在 docker 容器运行的基础文件系统上的 ffmpeg 并将生成的录制文件存储在那里,或者这不是一个好的做法?
答案1
这取决于您的需要。如果您想(永久)保存录制的流,可以将它们保存在附加卷中,即您的主机目录。因此,当容器被销毁/重新创建时,流数据将保留在附加卷中。阅读有关 docker 卷的信息这里。
如果以后不再使用录制的流,您可以将它们放入容器中。
不,这不是一个好的做法。容器的理念是:容器可以轻松移动(可移植),而无需在主机中配置很多东西。您可以在 Web 容器中安装 ffmpeg。因此,如果您将容器移动到另一个主机,您只需安装 Docker 并在那里运行容器。