docker容器如何处理宿主机不同内核版本对应的/lib/modules/{内核版本}目录不同的问题?


比如我需要在容器中使用bonding,不同的宿主机内核版本可能会不一样。此时同样的docker镜像到不同的宿主机上运行时,就会出现加载bonding.ko找不到的问题。
信息如下:
[root@efsContainer ~]# ifup bond0
FATAL: Could not load /lib/modules/4.6.3-1.el7.elrepo.x86_64/modules.dep: No such file or directory
FATAL: Could not load /lib/modules/4.6.3-1.el7.elrepo.x86_64/modules.dep: No such file or directory
Device bond0 does not seem to be present, delaying initialization.

实际容器中,没有4.6.3的内核目录
[root@efsContainer modules]# ls
2.6.32-573.26.1.el6.x86_64 2.6.37.1 3.10.0-229.el7.x86_64 3.10.0-327.el7.x86_64 3.8.2
已邀请:

l36807ljg

赞同来自:


这个可以吗?容器技术没有做设备级别的隔离。.ko好多都是驱动啊,我一直以为无法区别不同容器使用不同版本的驱动和内核程序。可以给容器开很高的权限去做.ko的加载,但是同主机上所有容器都被感染,所以好像不推荐。

要回复问题请先登录注册