我有1个进程写入docker容器中共享内存的特定部分(即“ / falcon”)。
Docker映像:dockersharedmemory / shmclient
我有另一个进程,它最初在另一个Docker容器中每秒创建和读取共享内存的同一部分(即“ / falcon”)。
Docker映像:dockersharedmemory / shmserver
使用以下命令运行两个容器时,我可以分别在每个容器中进行读写:
docker run -d -v /dev:/dev dockersharedmemory/shmserver
docker run -d -v /dev:/dev dockersharedmemory/shmclient
当我在每个文档中使用“ --ipc”选项时,无法正常工作:
docker run -d --ipc=host dockersharedmemory/shmserver
docker run -d --ipc=host dockersharedmemory/shmclient
两者都不
docker run -d dockersharedmemory/shmserver
drunk_feynman
docker run -d --ipc=container:drunk_feynman dockersharedmemory/shmclient
happy_fermi
客户端版本:1.4.1
客户端API版本:1.16
Go版本(客户端):go1.3.3
Git commit(客户端):5bc2ff8 / 1.4.1
OS / Arch(客户端):linux / amd64
服务器版本:1.4.1
服务器API版本:1.16
Go版本(服务器):go1.3.3
Git提交(服务器):5bc2ff8 / 1.4.1
我现在有一个工作示例,其中结合了主机上的命令,方法是使用卷和ipc的组合在容器中打个大洞: docker run -d -v /dev/shm:/dev/shm --ipc=host dockersharedmemory/shmserver
docker run -d -v /dev/shm:/dev/shm --ipc=host dockersharedmemory/shmclient
您仍然需要-v / dev:/ dev,如果这样做会发生什么情况
docker run -d -v /dev:/dev --ipc=host dockersharedmemory/shmserver
docker run -d -v /dev:/dev --ipc=host dockersharedmemory/shmclient
如果不安装bind / dev /,那么容器将无法看到/ dev /中的内容,这是IPC / shm所在的地方吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句