【发布时间】:2019-06-24 13:33:43
【问题描述】:
我想使用共享内存在两个 docker 容器之间进行通信。在这两个容器中,一个简单的 C 程序正在运行。
我试过这个例子,效果很好:Shared Memory with Docker containers (docker version 1.4.1)
但是,当我创建一个新的共享内存区域时,Shared-Memory-ID 始终为“0”。我已经尝试使用通过ftok() 生成的密钥并使用密钥IPC_PRIVATE:
key_t key = ftok("shmfile", 65);
int shmid = shmget(key, 1024, IPC_CREAT | 0666);
printf("%d \n", shmid);
void *shmdata = shmat(shmid, NULL, 0);
我希望 ID 不会始终为 0,并且在使用不同的密钥时会有所不同。
【问题讨论】:
标签: c docker containers shared-memory