2014-10-07 6 views
9

Dzień dobry.Wszystkie obrazy i kontenery zniknęły po zmianie wersji jądra hosta na

Na hoście zainstalowane zostało jądro 3.16. Po instalacji jądra 3.14 za pośrednictwem pakietu deb straciłem wszystkie obrazy i pojemniki dokowane. Wyjście poleceń "obrazy doków" i "okno dokowane ps -a" jest puste. Czy to normalne zachowanie dockera?

Dzięki.

+0

Powinieneś zapytać o to na https://unix.stackexchange.com/ – Jerodev

+0

Mam do czynienia z tym podczas aktualizacji jądra hosta z 3.16 na 3.18. FYI moim gospodarzem jest ubuntu. –

Odpowiedz

10

Będę odpowiedzieć sobie. To może być przydatne dla kogoś.

Docker używał sterownika pamięci "aufs" na starym jądrze. Dlatego moduł "aufs.ko" musi być załadowany. W nowej obsłudze jądra aufs nie został włączony, a okno dokowane zaczęło używać sterownika pamięci masowej "devicemapper".

+0

Dziękuję za badania, napotkałem podobny problem aktualizacji do v3.17.1 z brakującym aod kmod. Czy byłeś w stanie zainstalować moduł aufs, aby odzyskać swoje kontenery i obrazy? – Mark

2

Jak zauważa Denis Pitikov, obrazy i pojemniki mogą zniknąć, jeśli sterownik pamięci masowej, który je utworzył (np. aufs), nie jest już dostępny.

Po uruchomieniu w systemie Ubuntu 14.04 bieżący Docker install script automatycznie instaluje pakiet linux-image-extra-* (odpowiedni dla bieżącej wersji jądra). Obejmuje to moduł jądra aufs. W niektórych systemach pakiet linux-image-generic może nie być zainstalowany. W tych systemach, przy następnym uruchomieniu dist-upgrade, jądro zostanie uaktualnione, ale odpowiedni linux-image-extra-* nie zostanie zainstalowany. Po ponownym uruchomieniu komputera nie będzie dostępny moduł aufs, a pojemniki i obrazy mogły zniknąć.

Aby to naprawić: po pierwsze, sprawdź, czy używasz już uniwersalne jądro:

$ uname -r 
3.13.0-49-generic 

Jeśli tak, należy rozważyć zainstalowanie linux-image-generic:

$ apt-get install linux-image-generic 

To będzie uaktualnić jądro do wersji wymagane przez ten pakiet i zainstaluje również pakiet -extra.

3

Aby rzeczywiście naprawić go na Ubuntu, uruchom

sudo apt-get -y install linux-image-extra-$(uname -r)

To spowoduje zainstalowanie modułu jądra aufs że Döcker wymaga jednak mogą zostać utracone podczas aktualizacji jądra. Nie wiem, dlaczego menedżer pakietów pomija tę zależność.

+0

Czy to nie zawiedzie ponownie przy następnym uaktualnieniu jądra? – z0r

Powiązane problemy