Docker 容器中 Linux 内核模块加载——使用失控

Docker 容器中 Linux 内核模块加载——使用失控

在 Amazon Linux 2 实例上启动 Docker 容器时,我会加载一个内核模块。我首先卸载该模块,然后再次加载,这样如果内核模块更新,最新版本就会加载到系统中。我按以下方式执行此操作:

modprobe -r MODULENAME
modprobe MODULENAME --first-time

当此容器首次在服务器实例上运行时,此操作成功。但是当我运行新部署,并将新任务放入同一服务器实例时,第一行失败,并显示以下错误消息:

modprobe: FATAL: Module MODULENAME is in use.

此时,正在运行的 docker 容器已终止,但不知何故,主机仍认为内核模块正在使用中。当我在主机上列出内核模块时,我看到有 2 个进程正在使用该模块。

这可能是什么原因呢?

相关内容