容器销毁或停止时共享内存是否会被释放
Will shared memory be released when the container is destroyed or stopped
当我运行一个docker带有ipc=host
的图像并调用shmget
在容器中分配共享内存时,我可以运行ipcs -m
在主机上显示此共享内存信息。而且当容器停止或移除时,共享内存被保留,我必须手动移除共享内存。
所以如果一个容器运行有ipc=host
,容器分配的共享内存不会在容器停止或移除时被销毁。
但是如果我使用默认的ipc模式来运行 docker图像,我就无法使用ipc -m
显示主机上的共享内存信息。
有什么方法可以知道容器销毁或停止时共享内存是否被销毁。或者从docker实现的角度,当容器(不要运行和ipc=host
)被销毁或停止时,共享内存会被释放吗?
我想答案是肯定的。 docker 分配的所有资源将在停止或删除时释放。但是对于主机模式,有些资源是属于主机的,容器不会释放它。
当我运行一个docker带有ipc=host
的图像并调用shmget
在容器中分配共享内存时,我可以运行ipcs -m
在主机上显示此共享内存信息。而且当容器停止或移除时,共享内存被保留,我必须手动移除共享内存。
所以如果一个容器运行有ipc=host
,容器分配的共享内存不会在容器停止或移除时被销毁。
但是如果我使用默认的ipc模式来运行 docker图像,我就无法使用ipc -m
显示主机上的共享内存信息。
有什么方法可以知道容器销毁或停止时共享内存是否被销毁。或者从docker实现的角度,当容器(不要运行和ipc=host
)被销毁或停止时,共享内存会被释放吗?
我想答案是肯定的。 docker 分配的所有资源将在停止或删除时释放。但是对于主机模式,有些资源是属于主机的,容器不会释放它。