Docker #1: Pierwsze uruchomienie

Docker – popularne narzędzie do uruchamiania lekkich systemów w naszym systemie. Swego rodzaju wirtualizacja dowolnego systemu, który jako testerzy potrzebujemy uruchamiać najczęściej tylko na chwilę, lecz wielokrotnie.

Docker i pydocker

Docker


Problem z uruchamianiem aplikacji z takim samym skutkiem na różnych platformach? A może potrzebujesz uruchomić coś na wielu systemach jednoczenie, posiadając jeden komputer? Masz dość ogromnych machin takich jak VirtualBox tylko po to, by odpalić jeden mały skrypt? Z pomocą przychodzi Docker. Narzędzie zdobywające niesamowitą popularność nie tylko w rozwiązaniach Chmurowych.

O Dockerach, kontenerach i całym tym zamieszaniu

Docker może umieścić aplikację i jej zależności w wirtualnym kontenerze, który można uruchomić na dowolnej maszynie. Dzięki kontenerowi aplikacja może działać w różnych setup’ach, zarówno lokalnie, jak i w chmurze wewnątrz dockera. Kontenery to lekkie odwzorowania systemów operacyjnych (no, chyba że przesadzimy z ich konfiguracją – to już nie takie lekkie), unikają  narzutu związanego z uruchamianiem maszyn wirtualnych. Ponieważ kontenery Docker’a są z założenia na tyle lekkie, że serwer lub maszyna wirtualna może jednocześnie uruchamiać wiele kontenerów.

Duża ilość gotowych kontenerów jest udostępniana przez producenta. Bez dodatkowych działań możemy uruchamiać kontener z Python’em, narzędziami sieciowymi czy po prostu gołe Ubuntu. Listę dostępnych kontenerów dostarczanych przed producenta znajdziesz w na Docker hub’ie: 

Instalacja

Na wszelakich systemach debianopochodnych z obsługą aplikacji apt możesz zacząć od, zalecanego przez producenta Dockera, usunięcia obecnej (choć może upgrade & update by wystarczył), często już wbudowanej i przestarzałej wersji Docker’a:

sudo apt-get remove docker docker-engine docker.io containerd runc

Gdy już jesteśmy pewni, że nasz system nie posiada żadnej wersji Docker’a możemy rozpocząć jego instalację. Niby można ponownie zainstalować, to co usunęliśmy, ale (eh zawsze to ale) czy na 100% to zadziała? Na przykład na Rasbianie (choć to pochodna Debian’a), instalacja przy pomocy apt, potrafi sprawiać nie lada problemy. Lecz i na to przygotował się producent oprogramowania Docker. Udostępnił on skrypt instalacyjny, który wie lepiej od nas, co należy wykonać w twoim systemie, żeby Docker działał poprawnie. Ściągnąć go można przy pomocy aplikacji curl:

curl -fsSL https://get.docker.com -o get-docker.sh

A następnie uruchomić go na komputerze, serwerze, wirtualnej maszynie, mikrokomputerze. Gdzie dusza zapragnie (jeżeli mikrofala posiada mikrokomputer to nawet na niej) :

sudo sh get-docker.sh

Witaj świecie

Pierwszy program wymaga użycia dwóch słów: „hello world”. Tak, mógłbyś uruchomić coś użytecznego, ale świta programistów działa jak prawdziwy świat. Zacznij od tego, co wszyscy! Aby wystartować Docker’a, użyj komendy run zaraz po nazwie aplikacji docker. Następnie nazwę kontenera, w tym przypadku hello-world. Tu zaczyna się cała magia Docker’ów. „hello-world” jest to jeden z dostarczonych przez producenta kontenerów. Wywołując komendę docker run z nazwą kontenera, Docker sprawdza czy już taką posiada. Jeżeli nie, to sprawdza listę dostępnych prekonfigurowanych Docker’ów na liści którą podałem wcześniej. Gdy znajdzie odpowiedni kontener (taki sam jak podana nazwa), ściąga go i uruchamia:

docker run hello-world

Gratulacje, właśnie uruchomiłeś kontener hello world. Opis tego kontenera znajdziesz w linku poniżej:

I wydaje się, że Docker jest rozwiązaniem na wszystko. Jednak pamiętajcie, wszystko należy brać z rozsądkiem. Jest to użyteczne narzędzie, ułatwiające uruchamianie oprogramowania bez konieczności ciągłego przystosowywania środowiska na kolejnych maszynach, ale sama konfiguracja Docker’a  może sprawić też sporo problemów. Także zastanów się, którym sposobem działania zaoszczędzisz więcej czasu w przyszłości.

Niestandardowa konfiguracja, uruchomienie dokera w dokerze i wykorzystanie w CI (Continuous Integration – Ciągła Integracja) pojawią się w kolejnych odsłonach serii o Docker’ach.

close

Newsletter