Zaktualizowano gru 2016. I nie próbowali powielić @Alien Życie formularza odpowiedzi, ale dodać więcej szczegółów.
Krótka odpowiedź:
W większości przypadków OpenVZ hostingowych użyje OpenVZ 6 z przestarzałej jądro, które jest niezgodne z Docker.
Docker jest obsługiwana tylko z OpenVZ 7 (oparty na jądrze 3.x, zobacz https://openvz.org/Docker_inside_CT_vz7) lub OpenVZ 6 z wersji jądra 042stab105.4
lub nowszej (patrz https://openvz.org/Docker_inside_CT).
Długa odpowiedź:
Docker wymaga dwóch cech jądra Linuksa w celu działania: grupy kontrolne i nazw. Więc potrzebujesz jądra z tymi funkcjami.
Z OpenVZ nie kontrolujesz swojego jądra, działa tylko firma hostingowa. Większość firm hostingowych nie będzie współpracować i aktualizować jądra, więc jeśli kernel okaże się niekompatybilny, generalnie nie masz szczęścia.
OpenVZ 7 jest oparty na jądrach 3.10
, które obsługują Docker po wyjęciu z pudełka, jednak nie widziałem jeszcze hostingu OpenVZ 7 - KVM wydaje się być najpopularniejszą wirtualizacją z nowymi niskobudżetowymi dostawcami wchodzącymi na rynek.
OpenVZ 6 jest bardziej popularny u starszych dostawców i jest oparty na jądrze 2.6
ogólnie niekompatybilnym z Dockerem. Jądra OpenVZ nie są jednak normalnymi jądrami 2.6
, ale mają kilka funkcji przeniesionych z jądra 3.x
. W rzeczywistości jądro 042stab105.4
i nowsze obsługują funkcje wymagane przez Docker zgodnie z oficjalnym wiki OpenVZ (patrz odpowiedź @Alien Life Form).
Tekst poniżej odnosi się tylko do wersji OpenVZ 6.
Jeśli uname -a
pokazuje jądra 042stab105.4
lub nowszy - można użyć Döcker z niektórych poprawek do montażu wymagane specjalne systemy plików.
Jeśli jest starszy i firma chce współpracować, nie może zainstalować jądra głównego, ponieważ jest niezgodna z OpenVZ. Muszą zainstalować specjalne jądro z łatkami OpenVZ z https://openvz.org/Download/kernel. Najlepiej najnowszą stabilną wersję (która jest 042stab120.11
w momencie pisania), ale co najmniej 042stab105.4
. Dla porównania, wszystkie hosty OpenVZ, które widziałem, mają coś takiego, jak 2.6.32-042stab075.2
, co jest nie tylko niezgodne z Dockerem, ale także podatne na atak. Możesz więc spróbować użyć argumentu dotyczącego luki w zabezpieczeniach, aby zmusić wsparcie do aktualizacji :)
Innym oczywistym, ale nie zawsze stosowanym rozwiązaniem jest przejście z OpenVZ na hosting za pomocą innej technologii wirtualizacji, takiej jak Xen lub KVM. Jednak może się zdarzyć, że główne jądro CentOS 6 nie ma niezbędnych funkcji, więc CentOS 6 może być kompatybilny z Dockerem tylko wtedy, gdy jest uruchamiany z nieumieszczonymi łatkami jądra. Więc możesz rozważyć przeniesienie do CentOS 7 też.
Wygląda na to, że moduł 'cgroups' nie został załadowany. Może nie zainstalowany ?! Jednak 'docker' może nadal działać bez wsparcia cgroups. spróbuj zainstalować i włączyć 'cgroups ':' sudo yum install libcgroup' oraz 'sudo service cgconfig start'. teraz powinieneś mieć dostęp do ścieżek 'cgroups':' sudo ls -l/cgroup'. Zrestartuj usługę dokowania i sprawdź, czy działa. – Boynux