DockerVNC czyli kontener w graficznych szatach

in #polish5 years ago

Były święta i postanowiłem trochę pobawić się technologią docker i doszło do tego, że hobbystycznie uruchomiłem swego rodzaju projekt. Projekt nosi nazwę DockerVNC, który dostarcza kod źródłowy do budowy obrazów systemów wraz z zainstalowanym środowiskiem graficznym, usługą VNC, noVNC i z innymi preinstalowanymi aplikacjami.

10.png

Nie jest to mój pomysł, został on sforkowany z tego projektu z którego na co dzień korzystałem. Niestety zdaje się być delikatnie mówić porzucony więc postanowiłem go skopiować, wprowadzić trochę modyfikacji i opublikować. Zdaję sobie sprawę, że podobnych rozwiązań w sieci jest całe mnóstwo, ale jak to mówią... może i ciasne, ale własne.

Co to jest Docker?

Nie będę opisywał czym jest docker, jakie są zalety oraz wady, ponieważ w sieci można znaleźć bardzo dużo materiałów na ten temat. Ze swojej strony polecam rzucić okiem na tę stronę, która opisuje czym jest docker, co to jest maszyna wirtualna oraz jakie są różnice pomiędzy nimi.

Co oferuje mój projekt?

Mój projekt oferuje skrypty dla usługi docker umożliwiające wybudowanie obrazów wyposażonych w środowisko graficzne XFCE (w przyszłości może również i MATE), preinstalowane podstawowe aplikacje takie jak przeglądarka internetowa, edytor plików tekstowych oraz serwer VNC i noVNC, które umożliwiają połączenie się z systemem i korzystanie ze środowiska graficznego. Póki co dostępny jest tylko system Ubuntu 18.04 LTS - dlaczego on? System ten znam dosyć dobrze, bardzo dużo oprogramowania dostępnego w sieci współpracuje z tym systemem dlatego też jako on poszedł na pierwszy ogień. Oprócz tego dla polskiej społeczności przygotowałem skrypt, który wybuduje obraz z w pełni spolszczonym oprogramowaniem.

12.png

Do czego można to wykorzystać?

Testowanie aplikacji

Jeżeli masz jakiś program który chcesz przetestować ale nie chcesz go instalować na swoim głównym systemie, to możesz najpierw uruchomić kontener z odseparowanym od reszty twojego oprogramowania systemem, sprawdzić dany program a dopiero potem zainstalować go na fizycznym komputerze.

Trzymanie portfeli kryptowalut

System w kontenerze dockera działa jako odseparowane środowisko, także jeżeli jakieś złośliwe oprogramowanie dostanie się do naszego macierzystego systemu, to system działający w kontenerze wraz z oprogramowaniem na nim zainstalowanym jest bezpieczny (ale to też nie oznacza, że nie ma na niego zagrożeń).

Uruchamianie dodatkowego oprogramowania

Korzystam ze systemu openSUSE i zauważyłem, że wiele aplikacji które są np. na Ubuntu nie są dostępne dla mojego systemu operacyjnego. Z tego powodu chcąc skorzystać z takiego programu uruchamiam kontener z określonym systemem, pobieram interesujący mnie program, uruchamiam go i tyle. Nie muszę się bawić w kompilację, w przebudowę paczki czy też wykonywać inne magiczne sztuczki tylko dlatego, aby uruchomić dany program pod openSUSE.

Kilka porad odnośnie kontenera

Proces instalacji został opisany na tej stronie internetowej. Zakładam również, że jeżeli znasz dockera to umiesz wykorzystać podstawowe polecenia służące do zarządzania tą usługą. Przy okazji jednak kilka porad, które przydadzą się do tworzenia kontenera:

Zmień hasło do VNC

Od razu zmień hasło do VNC podczas tworzenia kontenera. Nie korzystaj z domyślnego hasła.

Zmień hasło dla użytkownika docbox

Użytkownik docbox może podnosić swoje uprawnienia przy pomocy sudo, dlatego też po uruchomieniu kontenera zmień hasło. Nie korzystaj z domyślnego hasła.

Udostępnij folder kontenerowi

Jeżeli chcesz mieć dostęp do fizycznego dysku twardego z poziomu kontenera, to musisz go mu udostępnić.

Przypisz adres IP

Przypisz konkretny adres IP swojemu kontenerowi. Ułatwi to łączenie się z nim poprzez VNC.

Wykonaj obraz z kontenera

Kiedy już wszystko skonfigurujesz wykonaj obraz z kontenera. Cały proces polega na tym, że konwerter "przekształcany" jest na obraz, następnie można go wyeksportować i na jego podstawie utworzyć nowy kontener na innym komputerze, ale z już wprowadzonymi przez ciebie zmianami.

Podsumowanie

Projekt jest tworzony hobbystycznie więc nie oczekuj wsparcia technicznego na poziomie korporacyjnym - na ile będę mógł, na tyle pomogę. Uczę się tej technologii także jeżeli zauważyłeś błąd to zgłoś go w komentarzu lub na stronie projektu. Możesz również zgłaszać swoje propozycje zmian - jeżeli uważasz, że warto dodać jakiś program do systemu to daj znać, a przedyskutujemy tę kwestię ;-).

Epilog

Zapewne wiele osób zapyta dlaczego nie wybudowałem obrazów i nie wrzuciłem do oficjalnego repozytorium dockera. Odpowiedź jest prosta - mój internet nie pozwala na w miarę szybkie wysłanie obrazu do internetu oraz nie posiadam żadnego VPSa ani usługi w chmurze, które mogłyby mi pomóc wykonać to zadanie. Być może po nowym roku zacznę się za tym rozglądać i szukać czegoś "na godziny" z przejrzystym cennikiem, aby płacić tylko za faktyczny czas użytkowania danej maszyny. Może ktoś coś poleci?

Źródła

Strona projektu w serwisie Github

Wszystkie zdjęcia zawarte we wpisie zostały wykonane przez autora.

Jak wyeksportować obraz do archiwum i następnie załadować go na innym komputerze (sekcja Using Save)

Wsparcie

Podobało się? Wesprzyj!

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.034
BTC 64231.88
ETH 3128.59
USDT 1.00
SBD 3.95