Docker – wprowadzenie

Czym jest Docker i dlaczego warto go znać? Docker jest otwartym oprogramowaniem służącym do uruchamiania aplikacji w wydzielonych kontenerach. Docker został wydany w 2013 roku i został napisany w języku Go. Od chwili wydania, zyskuje na popularności i używany jest szeroko w środowiskach programistów i DevOps.

Do czego może być przydatny?

Największą zaletą Dockera jest to, że raz utworzony kontener może zostać uruchomiony na domowym komputerze, laptopie w trakcie pracy w kawiarni, czy też na serwerze w naszym Data Center. Do tego – wyobraź sobie, że masz 3 różne aplikacje używające 3 różnych wersji pythona. Zainstalowanie tego wszystkiego na komputerze jest jak najbardziej możliwe, jednak – nie ma tu czego ukrywać – może spowodować różnego rodzaju problemy z zależnościami i pozostawić dużo śmieci w systemie. W tym przypadku – pomocny może okazać się Docker. Wystarczy utworzyć 3 kontenery, a w każdym z nich zostaną zainstalowane odpowiednie wersje pythona i niezbędne biblioteki. Proste i szybkie rozwiązanie. Do tego – jak już skończymy pracę nad aplikacją – możemy w prosty sposób przenieść kontener na docelowy serwer. Bez żadnych zmian w konfiguracji kontenera.

Czym jest Docker HUB?

Docker HUB jest oficjalnym repozytorium obrazów Dockera. Pozwala na udostępnianie i pobieranie obrazów przygotowanych dla różnego rodzaju aplikacji. Zamiast tworzyć własne obrazy – przejrzyj Docker HUB, gdyż jest duża szansa, że odpowiedni dla Ciebie obraz został już stworzony. Jeśli natomiast stworzysz jakiś obraz i chcesz się nim podzielić – Docker HUB będzie do tego odpowiednim miejscem.

Docker CE vs Docker EE

Docker dostępny jest w dwóch wydaniach:

  • Docker Community Edition,
  • Docker Enterprise Edition.

Docker Community Edition jest darmową wersją Dockera, odpowiednią dla indywidualnych programistów i małych zespołów.
Docker Enterprise Edition jest wydaniem dla szeroko pojętych środowisk produkcyjnych. Zawiera dodatkowe narzędzia, komercyjne wsparcie producenta oraz certyfikację dla systemów na których jest uruchamiany.

Instalacja Dockera na Centos 7

Aby uruchomić Dockera na czystym systemie Centos 7 wykonaj poniższe polecenia:

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager —add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker

Jeśli nie pojawiły się żadne komunikaty błędów – w tym momencie w Twoim systemie powinien zostać uruchomiony Docker wraz ze wszystkimi niezbędnymi komponentami. Aby przetestować działanie, możemy uruchomić komendę:

docker run hello-world

Wbrew pozorom, to proste polecenie, w tle – wykona bardzo dużo. Połączy się z serwerem Dockera pracującym na Twoim komputerze, pobierze plik opisujący kontener „hello-world” z Docker HUB, następnie na podstawie pobranego pliku, zbuduje kontener. Kontener zostanie uruchomiony, a to co zwróci kontener – zostanie wyświetlone na Twojej konsoli. Zatem – jeśli zobaczysz komunikat „Hello from Docker” – to znaczy, że wszystko działa poprawnie.

Podstawowe polecenia

  • docker run obraz – pobierze, zbuduje i uruchomi kontener bazując na wskazanym obrazie.
  • docker ps – wyświetli listę wszystkich kontenerów znajdujących się na serwerze Dockera.
  • docker start kontener – uruchomi wskazany kontener
  • docker stop kontener – zatrzyma wskazany kontener.
  • docker restart kontener – zrestartuje wskazany kontener.
  • docker rm kontener – usunie wskazany kontener.