很抱歉,我不能说太多细节,主要是因为我自己对这个主题的了解不是很好。
我们有一个用 java 构建的应用程序。前端由 apache 网络服务器提供服务。 apache 网络服务器的一部分是一个模块和小型 C 应用程序(我无法控制该应用程序的源代码),它控制与 java 应用程序服务器的通信和一些缓存机制。
这个 C 程序用共享内存做了一些事情,据我所知,它允许不同进程共享部分内存。
在配置文件中,我可以配置共享内存 key ,类似于 0x2001 和以字节为单位的段大小。
我们目前正在开发一个容器化环境来运行这个应用程序。我们使用 docker 创建容器。
我的问题是:
有没有人知道,或者知道一些关于共享内存以及 Docker 如何管理它的好文档?内存键是指定容器特定的内存部分,还是直接映射到主机内存?
如果我们运行apache服务器的两个实例(包括c程序),都在各自的容器中,它们不应该共享同一 block 共享内存,但我不知道键是否应该不同,或者也许 docker 已经进行了分离。
我希望我的问题很清楚,提前感谢您提供任何有用的建议或文档!
最佳答案
AFAIK 共享内存不在 docker 实例之间共享。 Docker实例假设模拟一台单独的机器,共享内存仅在同一台机器上的进程之间共享。
关于c - 与 docker 共享内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35867182/