我有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
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
如果您不挂载绑定/ dev /,那么容器看不到/ dev /中的内容,这是IPC / shm所在的地方吗?