与 Docker 个容器共享内存(docker 版本 1.4.1)
Shared Memory with Docker containers (docker version 1.4.1)
我有 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
当我根据 documentation 使用 "--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 提交(客户端):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/ 那么容器就看不到你的 IPC/shm 所在的 /dev/ 里面是什么?
我有 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
当我根据 documentation 使用 "--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 提交(客户端):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/ 那么容器就看不到你的 IPC/shm 所在的 /dev/ 里面是什么?