共享内存与docker集装箱(docker版本1.4.1)
我有1个进程写入docker集装箱中的共享内存的特定部分(即“/ falcon”)。
Docker镜像:dockersharedmemory / shmclient
我有另一个进程,最初创build和读取另一个docker集装箱中的每一秒共享内存(即“/猎鹰”)的相同部分。
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
转到版本(客户端):go1.3.3
Git的提交(客户端):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/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所在的是什么?