docker 进程可以使用 ipc 访问主机上的程序吗

Can a docker process access programms on the host with ipc

我正在研究使用 MQSeries 的集群 tomcat 系统。 今天,MQSeries 以绑定模式访问,即通过 IPC 和 tomcat 以及同一主机上的 mqeries 运行,没有任何 virtualization/docker 支持。

我想将其转换为一个解决方案,其中 mqseries 运行 在主机上(或可能在 docker 容器中)和 tomcat 实例 运行 在 docker 个容器中。

可以在客户端模式下访问 mqseries(通过 tcp 连接),这似乎是正确的解决方案。

是否仍然可以通过 ipc 从 docker 容器访问 mqseries,即为 ipc 名称空间分离创建例外? docker 有类似的计划吗?

This answer 建议如何通过对 Docker 的源代码修改启用 IPC。据我(以及那里的其他答案)所知,没有内置功能。

具体来说,他说他注释掉了 this line,这使得 Docker 创建了一个单独的 IPC 命名空间。

重新构建 Docker 有点乏味,因为它在构建过程中引入了很多其他东西,但是如果您遵循 instructions 就很简单了。

因为 docker 1.5 这可以用标志 --ipc=host

docker run --ipc=host ubuntu bash