Jeśli mój program zależy od pewnej funkcji biblioteki jądra, a ta funkcja z kolei ma łańcuch zależności, w jaki sposób okno dokowane pozostaje małe i przenośne bez wykonywania migawki wszystkich biblioteki jądra (i zarządzanie problemami zależności na poziomie funkcji, a nie biblioteki)? Innymi słowy, w jaki sposób izoluje się od zmian w bibliotekach Kernela z jednej wersji na drugą i czy robi to w bibliotece lub funkcji?W jaki sposób Docker dopuszcza przenośne pojemniki, jeśli biblioteki Kernela zmieniają się
Co się stanie, jeśli moja aplikacja ma stos oprogramowania, na przykład jedna funkcja jest kompatybilna z przyszłą wersją biblioteki A jądra, podczas gdy druga funkcja korzystająca z biblioteki A jądra nie jest już kompatybilna. Innymi słowy:
funkcyjnych 1 & 2 zarówno zależą i pracować z funkcji w jądrze Lib wersja 1.0
Funkcja 1 współpracuje z Lib wersja 1.1 Funkcja 2 zrywa z Lib Wersja 1.1 (funkcja 2 nadal potrzebuje Lib A version 1.0)
Nie wiem zbyt wiele o Dockerze, więc jest to pytanie dla początkujących.
libc i jądro Linuksa są bardzo ze sobą powiązane. Jądro, na którym pracujesz, zostało skompilowane z określoną biblioteką libc. Twoja biblioteka libc została skompilowana do obsługi tylko jądra nad określoną wersją. Jeśli zaktualizujesz jeden bez drugiego, możesz być w świecie bólu. – Eloff
Wierzę, że OP oznaczał wywołania systemowe obsługiwane przez różne wersje jądra. Są one silnie skorelowane z libc. Czy kontenery w jakiś sposób oszukują i używają libc systemu podstawowego? Czy mógłbyś wpaść w kłopoty, gdyby jakieś oprogramowanie próbowało bezpośrednio wywołać syscall nie obsługiwany w jądrze podstawowym? – Otheus