对不起,我无法了解更多细节,主要是因为我对这个问题的了解并不是很好。
我们有一个用java构建的应用程序。前端由apache webserver提供服务。 apache webserver的一部分是一个模块和小型C应用程序(我无法控制此应用程序的源代码),它控制与Java应用程序服务器和一些缓存机制的通信。
这个C程序对共享内存做了一些事情,根据我的理解,它允许部分内存由不同的进程共享。
在配置文件中,我可以配置共享内存密钥,类似于0x2001,以及字节的大小。
我们目前正致力于运行此应用程序的容器化环境。我们使用docker来创建容器。
我的问题是:
有人知道,或者知道一些关于共享内存的好文档以及Docker如何管理它?内存密钥是否指定了特定于容器的内存部分,或者是否直接映射到主机内存?
如果我们在自己的容器中运行两个apache服务器实例(包括c程序),它们不应该共享同一块共享内存,但我不知道密钥是否应该不同,或者也许码头工人已经分开了。
我希望我的问题很清楚,请提前感谢您提供任何有用的建议或文档!
答案 0 :(得分:3)
在docker实例之间不共享AFAIK共享内存。 Docker实例假设模拟一台单独的机器,共享内存仅在同一台机器上的进程之间共享。