docker.io更新为何要求系统重启?仅重启容器是否可行?
docker.io更新为何要求系统重启?仅重启容器是否可行?
嘿,这个问题我刚好能给你唠清楚~先看你挖到的更新日志,其实已经把原因写得明明白白啦!
这次触发重启提示的是docker.io的26.1.3-0ubuntu1~24.04.1版本更新,核心原因是涉及了内核层面的AppArmor配置修改:
docker.io-app (26.1.3-0ubuntu1~24.04.1) noble; urgency=medium
- Backport from oracular to noble. (LP: #2040461)
- d/t/docker-in-lxd: workaround Apparmor/kernel bug. (LP #2067900)
- Update AppArmor template to allow confined runc to kill containers
(LP: #2065423).
- d/docker.io.postinst: notify that a reboot is required to apply the
fix (the AppArmor profile need to be reloaded).-- Athos Ribeiro athos.ribeiro@canonical.com Mon, 14 Oct 2024 11:29:26 -0300
你看日志里明确说了,这次修改需要重启系统才能让AppArmor配置重载生效——AppArmor是Linux内核的安全模块,它的规则生效层级是内核级的,不是你重启容器、甚至重启docker服务就能搞定的。只重启容器的话,内核里加载的还是旧的AppArmor profile,新的规则根本没法落地,那这次更新要修复的「受限runc无法终止容器」「AppArmor/内核bug」这些问题就解决不了。
那能不能先不重启硬扛着?理论上可能暂时能跑,但大概率会碰到容器权限相关的异常(比如想停容器停不掉),所以还是建议尽早重启系统,让新的安全规则生效。
备注:内容来源于stack exchange,提问作者AnthonyK
相关产品推荐
相关产品推荐

