Kontenery wpisały się w krajobraz IT. W rzeczywistości konteneryzacja aplikacji i usług umożliwiła firmom stanie się jeszcze bardziej zwinnymi niż wcześniej.
A kto nie chciałby trochę więcej zwinności dla swojej firmy?
Ale czym jest kontener? Kontener to sposób na zwijanie oprogramowania w małe, samodzielne pakiety, które zawierają wszystkie biblioteki i ustawienia wymagane do działania oprogramowania, tak jakby było ono zainstalowane za pomocą standardowej metody. Na przykład, jeśli chcesz wdrożyć serwer NGINX, zamiast instalować serwer i wszystkie jego zależności na standardowym lub wirtualnym sprzęcie, możesz po prostu pobrać obraz NGINX i wdrożyć na jego podstawie kontener. W ciągu kilku sekund będziesz miał ten serwer NGINX gotowy do pracy.
Możesz się zastanawiać, „Dlaczego nie użyć po prostu maszyny wirtualnej?”. W przeciwieństwie do maszyny wirtualnej, kontener nie wymaga pełnego systemu operacyjnego, aby mógł działać. W rzeczywistości, kontenery są neutralne platformowo. Tak długo, jak masz system, który wspiera twój kontener, może on zostać wdrożony. Nawet lepiej, kontenery zawsze działają w ten sam sposób, niezależnie od platformy, na której są wdrażane.
Ale co jest używane do wdrażania kontenerów? Jednym z systemów jest Docker. Docker jest jednym z najprostszych dostępnych narzędzi do wdrażania skonteneryzowanego oprogramowania. Jest darmowy i dostępny do instalacji na większości platform.
Jakie są zalety kontenerów?
Zalet używania kontenerów (w porównaniu z tradycyjnymi metodami lub maszynami wirtualnymi) jest wiele. Oto tylko kilka z nich:
- Szybkie wdrażanie: Mając obraz pobrany z Docker Hub, możesz szybko wdrożyć kontener za pomocą jednego polecenia).
- Twórz jeden, wdróż wiele: Możesz utworzyć dowolną liczbę kontenerów z jednego obrazu.
- Less overhead: Kontenery wymagają znacznie mniej zasobów systemowych niż tradycyjne metody.
- Przenośność: Aplikacje działające jako kontenery mogą być wdrażane na różne systemy operacyjne i platformy sprzętowe.
- Łatwiejsze tworzenie aplikacji: Z założenia kontenery wspierają zwinne cykle rozwojowe.
- Niemal natychmiastowe uruchamianie: Kontenery mogą być uruchamiane niemal natychmiast, podczas gdy maszyna wirtualna może potrzebować czasu na uruchomienie.
- Modularność: Złożone aplikacje można podzielić na moduły, takie jak baza danych, serwer WWW i front-end.
Teraz, gdy masz już nieco więcej zrozumienia, czym są kontenery i dlaczego powinieneś ich używać, dowiedzmy się, jak zainstalować Dockera na dwóch najpopularniejszych serwerowych systemach operacyjnych open source, Ubuntu Server (wersja 18.04) i CentOS 7.
Instalacja Dockera na CentOS 7
Po pierwsze, zainstalujemy Dockera CE (Community Edition) na CentOS 7. Instalacja odbywa się z wiersza poleceń, więc zaloguj się na swój serwer CentOS 7 i przygotuj się do pisania.
Pierwszym krokiem jest zainstalowanie wszelkich niezbędnych zależności dla Dockera. Aby to zrobić, należy wydać następujące polecenie:
1
|
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
|
Po wykonaniu tego polecenia, trzeba będzie dodać repozytorium docker-ce za pomocą polecenia:
1
|
sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo
|
Mając już repozytorium na miejscu, należy zainstalować docker-ce poleceniem:
1
|
sudo yum install docker-ce
|
Zostaniesz poproszony o wyrażenie zgody na instalację (i import jej klucza GPG – rysunek A).
Rysunek A
Kiedy to się zakończy, będziesz musiał dodać swojego użytkownika do grupy Dockera. Jeśli pominiesz ten krok, będziesz mógł uruchamiać polecenia Dockera tylko za pomocą sudo, co stanowi zagrożenie dla bezpieczeństwa. Aby dodać swojego użytkownika do grupy Docker, wydaj polecenie:
1
|
sudo usermod -aG docker $(whoami)
|
Wyloguj się z systemu CentOS 7 i zaloguj się ponownie, aby zmiana zaczęła obowiązywać.
Na koniec trzeba uruchomić demona Docker i włączyć go tak, aby uruchamiał się przy starcie systemu. Można to zrobić za pomocą następujących dwóch poleceń:
1
2
3
|
sudo. systemctl enable docker
. sudo systemctl start docker
|
Jeśli wydasz polecenie docker images (które jest poleceniem do wylistowania wszelkich dostępnych obrazów znalezionych w systemie), zobaczysz, że Docker nie tylko działa, ale też nie ma obecnie żadnych dostępnych obrazów (Rysunek B).
docker_b.jpg
Docker jest uruchomiony, ale nie zawiera żadnych obrazów.
Jeśli chcesz wyciągnąć obraz NGINX z Docker Hub, wydaj polecenie:
1
|
docker pull nginx
|
Wydaj ponownie polecenie docker images, a zobaczysz dostępny nowo wyciągnięty obraz (rysunek C).
Figura C
Obraz NGINX jest gotowy do użycia przy wdrażaniu kontenerów.
Instalacja Dockera na Ubuntu Server 18.04
Instalacja Dockera na Ubuntu Server jest w rzeczywistości dość prosta. Ponieważ Docker znajduje się w standardowym repozytorium, wystarczy zalogować się na swój serwer Ubuntu i wydać polecenie:
1
|
sudo apt-get install docker.io -y
|
Powyższe polecenie zainstaluje wszystkie niezbędne zależności, aby Docker mógł działać. Gdy to się zakończy, włącz i uruchom usługę docker za pomocą poleceń:
1
2
3
|
sudo systemctl enable docker
sudo systemctl start docker
|
Na koniec, dodajemy się do grupy docker za pomocą polecenia:
1
|
sudo usermod -aG docker $(whoami)
|
Wyloguj się z serwera i zaloguj się ponownie. Możesz teraz wydawać te same polecenia, co w przypadku CentOS 7. Wyświetl listę dostępnych obrazów za pomocą polecenia:
1
|
docker images
|
Zgodnie z oczekiwaniami na liście nie będzie żadnych obrazów (rysunek D).
Figura D
Żadne obrazy nie są jeszcze dostępne dla Ubuntu Server.
Ściągnij obraz NGINX za pomocą polecenia:
1
|
docker pull nginx
|
Gdy obraz zostanie pobrany, wydaj ponownie polecenie docker images, aby zobaczyć go na liście (Rysunek E).
Rysunek E
Obrazy NGINX dostępne na Ubuntu Server.
Wnioski
I tak oto instalujemy Dockera zarówno na CentOS 7, jak i Ubuntu Server 18.04. W naszej następnej instalacji z tej serii, nauczymy się jak wdrożyć kontener, używając obrazu NGINX wyciągniętego z Docker Hub.
Feature image by _jinnie_ from .