2014-11-25 8 views

Odpowiedz

4

Tak, dla większości aplikacji to działa. Jądro działa niezależnie od tego, na czym naprawdę działasz (RedHat w twoim przykładzie), podczas gdy przestrzeń użytkownika jest dostarczana przez kontener (Ubuntu).

Większość wersji jądra systemu Linux jest wystarczająco podobna, aby aplikacje nie zauważyły. Jeśli jednak kod opiera się na czymś konkretnym w jądrze, którego nie ma, Docker nie może ci pomóc.

Sam Docker opiera się na pewnych minimalnych właściwościach jądra, w wersji 3.8 w momencie pisania. https://docs.docker.com/engine/installation/binaries/

+0

Również architektura systemu jest ograniczeniem. Obrazy x86_64 nie będą działać na przykład na ARM. TO ZNACZY. nie uruchomisz oficjalnego obrazu ubuntu na Raspberry PI. – chadrien

5

Tak. To jest główna idea dockera.

Tworzy "statyczny kontener" w chrootowanym env, który może działać na dowolnym systemie Linux, ponieważ wszystkie potrzebne zależności użytkownika z lądem są zawarte w obrazie.

Ponieważ linux (jądro) zachowuje kompatybilność wsteczną w wywołaniach systemowych i ich schematach wywołań, pomysł może działać w różnych wersjach, a nawet w różnych dystrybucjach Linuksa.

Oczywiście architektura binarna (np. Amd64) musi być taka sama w systemie źródłowym i docelowym.

Powiązane problemy