gpt4 book ai didi

java - 从多个 docker 容器读取/写入同一个文件

转载 作者:行者123 更新时间:2023-12-01 14:21:16 28 4
gpt4 key购买 nike

我在 4 个 docker 主机中有 4 个容器(java 应用程序)。他们需要读/写同一个文件。

由于操作系统不同,无法使用文件锁。

因此,我尝试创建一个 .lock 文件,如果 4 个容器中的一个创建了 .lock 文件,其他容器将不得不等待。但这仍然不能正常工作。其他容器有时看不到其他容器创建的.lock文件(不是实时的)。

还有其他解决方案吗?

最佳答案

我建议您重新考虑您的假设:

  • 如果您没有 4 个而是 400 个容器怎么办?
  • 如果他们在不共享文件系统的服务器上怎么办?

干净的方法是编写一个非常基本的服务器(如果负载允许,这可以是 nginx + PHP,并在 10 分钟内完成)来写入文件,在另一个容器中运行它并连接到它来自其他容器。这会给你:

  • 文件锁定简单可靠,因为文件只能由一台服务器看到
  • 可扩展性
  • 集群能力
  • 抽象

关于java - 从多个 docker 容器读取/写入同一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56402803/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com