10
如果我的程序依賴於內核庫的某些功能,並且該函數又有一系列依賴關係,那麼docker如何保持小型和便攜性,而不需要創建所有的快照內核庫(以及在函數而不是庫級別管理依賴項問題)?換句話說,它是如何將內核庫中的更改從一個版本變爲另一個版本的,並且它是否在庫或函數格式化中這樣做?如果內核庫改變,Docker如何允許可移植容器
另外如果我的應用程序有一個軟件堆棧,例如一個函數與未來版本的內核庫A兼容,而另一個使用內核庫A的函數不再兼容。換句話說:
功能1 & 2都依賴於和內核庫與功能的工作版本1.0
功能1只適用於庫一個版本1.1 功能2個斷裂與庫一個版本1.1(功能2仍需要Lib A版本1.0)
我對Docker瞭解不多,所以這是一個新手問題。
libc和Linux內核交織在一起你正在運行的內核是用特定的libc編譯的。你已經編譯的libc只支持特定版本以上的內核。如果你更新一個沒有另一個,你可以在一個痛苦的世界。 – Eloff
我相信OP意味着不同版本的內核支持的系統調用。這些與libc高度相關。那麼容器是否會作弊並使用基本系統的libc?如果某些軟件試圖直接調用基本內核不支持的系統調用,您會遇到麻煩嗎? – Otheus