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.