c - 与 docker 共享内存

标签 c docker shared-memory

很抱歉,我不能说太多细节,主要是因为我自己对这个主题的了解不是很好。

我们有一个用 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/

相关文章:

c - nameser_compat.h 是什么,为什么不包括在内?

c++ - Win32 无法从共享内存获取数据

c - 为什么未命名的信号量在共享内存中使用时不会改变?

java - 我可以在 java 桌面应用程序和 php 网站之间使用信号量吗?

C 编程 - 段错误(核心转储)

C程序求一个素数

c - glib 是否有需要包含的特定库?

angular - EACCES 权限被拒绝在 docker 中进行 angular cli ng 构建

docker - 在不旋转容器的情况下挤压 docker 镜像

powershell - 如何将文件(.txt格式)从计算机复制到Docker容器