Jac*_*ern 6 ipc shared-memory docker
我正在设置两个 docker 容器 - 一个作为服务器将数据保存在内存中,另一个作为客户端来访问该数据。为了做到这一点,我相信我需要使用该--ipc标志在容器之间共享内存。Docker文档--ipc很好地解释了该标志。根据正在运行的文档,对我来说有意义的是:
docker run -d --ipc=shareable data-server
docker run -d --ipc=container:data-server data-client
Run Code Online (Sandbox Code Playgroud)
但我读过的所有 Stackoverflow 问题(1、2、3、4 )都将两个容器直接链接到主机:
docker run -d --ipc=host data-server
docker run -d --ipc=host data-client
Run Code Online (Sandbox Code Playgroud)
哪个更适合这个用例?如果ipc=host更好,什么时候使用ipc=shareable?
来自文档:
\n\n\n--ipc="MODE" : 设置容器的IPC模式
\n“shareable”:拥有私有IPC命名空间,可以与其他容器共享。
\n“host”:使用主机系统\xe2\x80\x99s IPC命名空间。
\n
shareable和的区别host在于主机是否可以访问共享内存。
考虑到服务的安全性host,使用将IPC命名空间暴露给控制主机的攻击者。使用shareable,IPC 命名空间只能在容器内部访问,其中可能包含任何攻击。该host模式的存在是为了允许容器与其主机之间进行协作。
通常很难了解环境的所有细节和询问者的要求,因此host往往是最常推荐的,因为它最容易理解和配置。
| 归档时间: |
|
| 查看次数: |
14070 次 |
| 最近记录: |