W następnym artykule przyjrzymy się kontenerom LXD. Kolega już jakiś czas temu mówił o nich na tym blogu. W ten artykuł Już to wyjaśniłem te pojemniki są przydatne z różnych powodów. Izolują aplikacje od reszty systemu, są przenośne, łatwe do klonowania i / lub przenoszenia na inne systemy operacyjne. W przypadku Gnu / Linuksa działają w ten sam sposób w każdej dystrybucjibez konieczności adaptacji.
Doker to popularne rozwiązanie przeznaczone do przechowywania pojedynczej aplikacji, takiej jak serwer bazy danych MySQL. LXD jest podobny pod pewnymi względami, ale tak jest zaprojektowany tak, aby zawierał kompletny system operacyjny. LXD nie zamierza wirtualizować sprzętu, takiego jak QEMU o VirtualBox. Oznacza to, że jest bardzo szybki i oferuje szybkość wykonywania prawie natywną.
Jako przykład użycia moglibyśmy stworzyć kontener LXD, zainstalować serwer bazy danych i serwer http. Tam będziemy mieli możliwość stworzenia strony internetowej za pomocą WordPress, aw razie potrzeby możemy przejść z chmury do chmury po prostu przenosząc ten kontener LXD tam, gdzie to konieczne. Sklonowanie kontenera jest łatwe, dlatego witrynę można nawet przesłać do wielu dostawców usług w chmurze, aby utworzyć nadmiarową i wysoce dostępną konfigurację.
Zainstaluj i skonfiguruj LXD
Aby zainstalować LXD, wystarczy otworzyć terminal (Ctrl + Alt + T) i zainstalować. Co więcej możemy również zainstalować narzędzia ZFS. Pomoże nam to przyspieszyć niektóre operacje i zaoszczędzić miejsce na dysku podczas pracy z kontenerami.
sudo apt install zfsutils-linux lxd
do uruchom konfigurację LXD, w tym samym terminalu piszemy:
sudo lxd init
Tutaj możemy nacisnąć Intro aby wybrać wartości domyślne.
Znajdź i uruchom obraz dystrybucji LXD
do zobacz listę obrazów Ubuntu, w terminalu piszemy:
lxc image list ubuntu: arch=amd64|head
można pomiń arch = amd64, jeśli potrzebujesz obrazów dla innych architektur. Na powyższym obrazku wyniki zostały ograniczone (z | głowa), aby ułatwić czytanie.
Jak widać na powyższym zrzucie ekranu, odcisk palca Ubuntu 18.04 (dcbc8e3e5c2e) Zostawiłem to podświetlone. Jeśli jesteś zainteresowany Uruchom kontener z tą dystrybucją, powinieneś użyć tego footprintu. Polecenie do wykonania wyglądałoby tak:
lxc launch ubuntu:dcbc8e3e5c2e
Zarządzaj kontenerami LXD
do lista wszystkich utworzonych kontenerówwystarczy napisać:
lxc list
KręgosłupIPV4'jest szczególnie ważne, jeśli w tej instancji działają jakiekolwiek usługi. Na przykład, jeśli używasz serwera http Apache, podczas pisania adresu IP ”10.191.112.88„Witryna internetowa hostowana w kontenerze zostanie wyświetlona w przeglądarce.
do zatrzymać pojemnikwystarczy napisać:
lxc stop nombre-contenedor
Może to być czasochłonne lub zawieść w przypadku dystrybucji innych niż Ubuntu. Jeśli tak się stanie, zawsze możesz użyć wyłączanie systemctl żeby to zatrzymać.
Jeśli wszystko inne zawiedzie, możesz wymuszone zatrzymanie z:
lxc stop nombre-contenedor --force
do zacznij od pojemnika pisać:
lxc start nombre-contenedor
Jeśli chcesz przenieść się do pojemnika, biegać:
lxc shell nombre-contenedor
Wewnątrz pojemnika możesz instalować programy za pomocą 'sudo apt install'i zrób wszystko co byś zrobił w normalnej dystrybucji Gnu / Linuksana przykład konfigurowanie serwera Apache.
Zawsze wydostać się z pojemnikawystarczy wpisać:
exit
Przesyłaj pliki do / z kontenerów LXD
do prześlij plik do swojego kontenera, użyj następującej składni:
lxc file push /ruta/al/archivo/local/nombre-archivo nombre-contenedor/ruta/al/archivo/subido/nombre-archivo
Uwzględnij nazwę pliku, który zostanie utworzony, a nie tylko katalog, w którym chcesz go zostawić.
do załadować katalog zamiast pliku:
lxc file push /ruta/al/directorio nombre-contenedor/ruta/al/directorio/remoto --recursive --verbose
do pobierz katalog z kontenera do systemu operacyjnego dyrektor:
lxc file pull nombre-contenedor/ruta/al/directorio/remoto ruta/al/directorio --recursive --verbose
Obejmuje to podstawowe zastosowanie kontenerów LXD. Istnieją bardziej zaawansowane funkcje, takie jak migawki, ograniczenia zasobów, takich jak procesor i pamięć RAM, kontenery klonowania itp. Wszystko to i więcej można znaleźć w oficjalna dokumentacjaw witryna projektu lub na swojej stronie GitHub.