Shared memory with Docker containers (docker version 1.4.1)

I have 1 process that writes to a specific section of shared memory (ie, "/ falcon") in a docker container.

Docker Image: dockersharedmemory / shmclient

I have another process that initially creates and reads the same shared memory partition (that is, "falcon") every second in a different docker container.

Docker Image: dockersharedmemory / shmserver

When I launch two containers using the following commands, I can read and write in each container with respect:

docker run -d -v /dev:/dev dockersharedmemory/shmserver

docker run -d -v /dev:/dev dockersharedmemory/shmclient

When I use the - ipc parameter for documentation , I cannot get it to work:

docker run -d --ipc=host dockersharedmemory/shmserver

docker run -d --ipc=host dockersharedmemory/shmclient

neither

docker run -d dockersharedmemory/shmserver

drunk_feynman

docker run -d --ipc=container:drunk_feynman dockersharedmemory/shmclient

happy_fermi

Client version: 1.4.1
Client API Version: 1.16
Go version (client): go1.3.3
Git commit (client): 5bc2ff8 / 1.4.1
OS / Arch (client): linux / amd64
Server Version: 1.4.1
Server API Version: 1.16
Go version (server): go1.3.3
Git commit (server): 5bc2ff8 / 1.4.1

Now I have a working example with a combination of commands on the host, punching huge holes in a container with a combination of volumes and 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

+1
source share
1 answer

You still need -v / dev: / dev what happens if you do

 docker run -d -v /dev:/dev --ipc=host dockersharedmemory/shmserver docker run -d -v /dev:/dev --ipc=host dockersharedmemory/shmclient 

If you do not mount bind / dev /, then the container cannot see that inside / dev / where your IPC / shm is located, right?

+2
source

All Articles