当前位置: 首页 > 面试题库 >

与Docker容器共享内存(Docker版本1.4.1)

夹谷沛
2023-03-14
问题内容

我有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

我现在有一个工作html" target="_blank">示例,通过结合使用卷和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

如果您不挂载绑定/ dev /,那么容器看不到/ dev /中的内容,这是IPC / shm所在的地方吗?



 类似资料:
  • 问题内容: 我在一个具有不同进程的应用程序上工作,并被要求包含那些进程以实现更多隔离。 问题在于,进程与单个“管理程序”进程共享内存以便交换数据(它们使用经典的共享缓冲区)。该解决方案是为满足性能要求而实施的,因为它在用户空间中运行,因此在用户空间和内核空间之间没有内容切换。 如果我没看错,则不可能在单个IPC名称空间内运行多个docker容器,但是我不知道单个docker容器是否可能属于不同的I

  • 我读过/看过很多教程、参考资料、文档、VID等等,我正在尝试执行它们似乎解释的操作,但是当我创建装载了本地路径的容器,然后进入容器,设置一些配置设置,然后查看装载的windows路径时,那里没有保存任何东西。 不确定问题出在哪里? 下面是我正在运行的docker cmd示例: 根据我的理解,存储在容器中文件夹中的任何内容也应该保存到主机上的Windows文件夹中,但没有任何内容保存到该Window

  • 问题内容: 嗨,我正在使用Docker部署一些服务,在这里我想在不同的Docker容器之间共享Docker卷。 假设我有一个Docker容器A在/ data挂载了一个卷。这是A的Dockerfile 据我了解,这会将一个卷附加到容器,但不会将主机目录装载到该容器。因此,该卷内的数据仍位于容器A内。 我有另一个提供ftp服务的容器B。它访问卷/ public下的数据。B的Dockerfile是 现在

  • 我正在使用Docker部署一些服务,我想在不同的容器之间共享Docker卷。 假设我有一个Docker容器a,它在/data处挂载了一个卷。下面是它的DockerFile: 根据我的理解,这会将卷附加到容器,但不会将主机目录挂载到容器。所以这个卷里面的数据仍然在容器A里面。

  • 问题内容: 有谁知道如何使用centos基本映像在docker容器中安装nfs共享?我已经尝试过以下命令: 并得到下一个错误: 当我尝试将其与 -o nolock 选项一起使用时,错误是: 问题答案: 对于使用,您需要具有此功能,Docker在创建容器时会丢弃该功能。 有几种解决方案: 用标志启动容器。这将导致Docker保留该功能,从而使您可以从容器内挂载NFS共享。这可能是一个安全问题;不要在

  • 问题内容: 我有一个在Docker容器中运行的Web应用程序。此应用程序需要访问我们公司文件服务器(带有Active Directory域控制器的Windows Server)上的某些文件。我尝试访问的文件是为我们的客户创建的图像文件,Web应用程序将它们显示为客户产品组合的一部分。 在我的开发机器上,我通过条目安装了适当的文件夹,并且通过参数将主机安装点安装在Docker容器中。这很完美。 现在