Kontenery są przydatne z wielu powodów. Izolują aplikacje od reszty systemu. Są przenośne i łatwe do klonowania i/lub przenoszenia do innych systemów operacyjnych. W przypadku Linux Działa to w ten sam sposób w dowolnej dystrybucji, bez konieczności modyfikacji. Jeśli musisz przenieść kontener z RedHat do Ubuntu , to powinien być tylko prosty proces kopiowania.
Doker Jest to popularne rozwiązanie przeznaczone do obsługi pojedynczej aplikacji, na przykład serwera. Baza danych MySQLWygląda jak on. LXD W pewnym sensie jest on zaprojektowany tak, aby zawierać cały system operacyjny. Dzięki temu jest przydatny w niektórych scenariuszach. Na przykład możesz Utwórz kontener LXD i zainstaluj serwer bazy danych oraz serwer HTTP. Następnie możesz Utwórz witrynę WordPress Wewnętrznie. Możesz teraz przełączać się między chmurami, po prostu przenosząc ten kontener LXD, kiedy tylko tego potrzebujesz lub jeśli nie jesteś zadowolony ze swojego poprzedniego dostawcy. Ponieważ klonowanie kontenera jest łatwe, możesz nawet załadować Twoja strona internetowa Korzystanie z wielu dostawców usług w chmurze w celu stworzenia redundantnej i wysoce dostępnej konfiguracji.

LXD nie działa na maszynach wirtualnych takich jak QEMU أو VirtualBox , co oznacza, że jest bardzo szybki i zapewnia prędkość wykonywania zbliżoną do lokalnej.
Szybkie linki
Instalowanie i konfigurowanie LXD
Otwórz terminal i zainstaluj LXD oraz narzędzia ZFS, które pomogą Ci przyspieszyć niektóre operacje i zaoszczędzić miejsce na dysku podczas pracy z kontenerami.
sudo apt install zfsutils-linux lxd

Rozpocznij konfigurację LXD.
sudo lxd init
Naciśnij ENTER, aby ustawić wartości domyślne.
Jeśli chodzi o rozmiar nowego urządzenia pierścieniowego w GB (minimum 1 GB) [domyślnie = 15 GB], możesz wybrać inną wartość, np. „50 GB”, jeśli wiesz, że będziesz tworzyć wiele kontenerów.

Znajdź i uruchom obraz dystrybucyjny LXD
Aby wyświetlić listę wszystkich obrazów Ubuntu:
Lista obrazów lxc ubuntu: arch=amd64

Będzie wiele wyników. Możesz wybrać ommit arch = amd64 Jeśli potrzebujesz obrazów dla innych platform, np. procesorów ARM (urządzenia Raspberry Pi wykorzystują tę architekturę).
Na poprzednim obrazku wyniki zostały ograniczone (za pomocą | head), aby ułatwić ich odczytanie. Odcisk palca został wyróżniony. Ubuntu 18.04 (84a71299044b). Jeśli chcesz uruchomić kontener przy użyciu tej dystrybucji, polecenie będzie wyglądać następująco:
lxc uruchamia ubuntu: 84a71299044b
W tym momencie zwróci błąd odmowy uprawnień. Musisz być w grupie „lxd”. Twój użytkownik został już dodany do tej grupy, ale aby go aktywować, musisz się wylogować i zalogować ponownie. Aby tego uniknąć, użyj tego polecenia, zastępując „user” swoją nazwą użytkownika:
exec su - użytkownik

Teraz polecenia lxc działają bez potrzeby sudo.
Uruchamianie kontenerów LXD z dystrybucjami innymi niż Ubuntu
Pokaże Ci inne dostępne dystrybucje:
Lista obrazów lxc: arch=amd64
Aby utworzyć obraz, zamiast odcisku palca możesz też użyć pseudonimu, jeśli taki znajdziesz na liście.
Obrazy startowe lxc:debian/9

Jeśli na końcu dodasz ciąg znaków, możesz wybrać nazwę dla swojego kontenera:
Obrazy startowe lxc: debian/9 wordpress-site
Zarządzanie kontenerami LXD
Aby wyświetlić listę wszystkich kontenerów:
lista lxc

Kolumna jestIPV4Jest to szczególnie ważne, jeśli w tym stanie działają jakiekolwiek usługi. Na przykład, jeśli serwer Apache http Działa na przykład wpis „10.234.232.246W przeglądarce zostanie wyświetlona strona internetowa hostowana w kontenerze.
Aby zatrzymać kontener:
lxc stop nazwa_kontenera
W przypadku dystrybucji innych niż Ubuntu może to zająć dużo czasu (lub się nie udać). Najlepiej jest uzyskać powłokę kontenera i po wejściu do środka wpisać wyłączanie systemctl Aby to zatrzymać.
Jeśli wszystkie inne metody zawiodą, możesz wymusić zatrzymanie za pomocą:
lxc stop nazwa_kontenera --force
Aby zacząć:
lxc start nazwa_kontenera
Aby poruszać się w kontenerze:
lxc shell nazwa_kontenera

Możesz instalować programy za pomocą „sudo apt installi wykonaj dowolną inną czynność, którą wykonujesz w standardowej dystrybucji Linuksa, na przykład skonfiguruj serwer. ApacheKiedy chcesz opuścić kontener, po prostu wpisz:
wyjście
Przenoszenie plików do/z kontenerów LXD
Aby przesłać plik do kontenera:
lxc file push /ścieżka/do/lokalnego/pliku nazwa_kontenera/ścieżka/do/przesłanego/pliku
Podaj nazwę pliku, który chcesz utworzyć, a nie tylko katalog, do którego chcesz go przesłać. Oto przykład:
lxc file push lxd-apt-install.png exact-colt/var/www/website/upload.png
Aby przesłać katalog zamiast pliku:
lxc file push /ścieżka/do/katalogu/lokalnego nazwa_kontenera/ścieżka/do/katalogu/zdalnego --recursive --verbose
Przykład:
Plik lxc push /bin exact-colt/tmp --recursive --verbose
Aby pobrać katalog z kontenera do głównego systemu operacyjnego:
lxc plik pobierz nazwa_kontenera/ścieżka/do/zdalnego/katalogu /ścieżka/do/lokalnego/katalogu --recursive --verbose
Przykład:
Pobierz plik lxc exact-colt/tmp /tmp --recursive --verbose
Wniosek
To obejmuje Podstawowe zastosowanie kontenerów LXDDostępne są bardziej zaawansowane funkcje, takie jak migawki i przewijanie, a także ograniczenia zasobów, takie jak procesor وBaran , kontenery klonujące itp. Mogą one zostać omówione w przyszłym samouczku, jeśli okaże się, że czytelnicy są zainteresowani tym tematem.










