W ciągu ostatnich kilku lat Docker zyskał popularność jako aplikacja kontenerowa. Pojemniki zapewniają korzyści z maszyn wirtualnych bez powiązanych kosztów ogólnych.
Maszyna wirtualna umożliwia użytkownikom uruchomienie samodzielnego systemu operacyjnego na innej maszynie. Oznacza to, że użytkownicy mogą uruchomić kolejny komputer Linux lub Windows na bieżącym systemie operacyjnym. Jest to jednak proces wymagający zasobów.
Każda maszyna wirtualna uruchamia własne jądro systemu operacyjnego, binarne, biblioteki i aplikacje na komputerze hosta. Kontenery rozwiązują ten problem poprzez udostępnienie jądra maszyny hosta. Oddziela tylko poziom aplikacji. Binaria i biblioteki są oddzielone tylko w razie potrzeby. W rezultacie pojemniki mają szybsze czasy wykonania i mniejsze ślady śladów. Docker jest obecnie najpopularniejszą technologią kontenerów.
Instalacja na Ubuntu
Warunek wstępny
Docker ma bezpłatną wersję społeczności o nazwie Docker CE i płatną wersję przedsiębiorstw o nazwie Docker EE. W tym artykule skoncentrujemy się na wersji społecznościowej.
Docker CE wymaga 64-bitowej wersji Ubuntu w dowolnym z poniższych smaków:
- Zesty 17.04
- Xenial 16.04 (LTS)
- Zaufany 14.04 (LTS)
Możesz uruchomić wiele poleceń jako użytkownik nie-root. Jednak potrzebujesz dostępu root (sudo) dla niektórych poleceń.
Instalowanie Dockera
Istnieje wiele sposobów instalacji Dockera. W tym samouczku skonfigurujemy repozytorium Docker i zainstalujemy Docker CE z repozytorium. Zakładamy również, że masz czystą maszynę bez wcześniejszych wersji Docker. Jeśli masz poprzednią wersję Dockera, odinstaluj wersję przed rozpoczęciem.
Konfiguracja repozytorium
1. Zaktualizuj swój pakiet apt, aby upewnić się, że system operacyjny jest aktualny:
Aktualizacja $ sudo apt-get |
2. Zainstaluj następujące pakiety:
oprogramowanie-properties-common |
3. Dodaj oficjalny klucz GPG
$ curl -fssl https: // pobierz.doker.com/Linux/Ubuntu/GPG | sudo apt-key add - |
Sprawdź kluczowy odcisk palca, który ma być 9dc8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88. Możesz użyć następującego polecenia:
$ sudo apt-key odcisk palca 0EBFCD88 |
PUB 4096R/0EBFCD88 2017-02-22 |
Kluczowy odcisk palca = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 |
UID Docker Release (CE Deb) |
Sub 4096R/F273FCD8 2017-02-22 |
4. Skonfiguruj stabilne repozytorium za pomocą następujących czynności:
$ sudo add-apt-repozytory \ |
„Deb [arch = amd64] https: // pobierz.doker.com/linux/ubuntu \ |
„Arch” określa architekturę. Dla x86_64 użyj „Arch = AMD64”, dla ARMHF użyj „Arch = Armhf”, a dla S390X użyj „Arch = x390x”.
Konfiguracja Docker CE
1. Zaktualizuj swoje pakiety apt:
Aktualizacja $ sudo apt-get |
2. Zainstaluj najnowszy Docker CE:
$ sudo apt-get instal -y Docker-ce |
3. Powyższe polecenie powinno zainstalować Dockera i uruchomić demon. Sprawdź, czy demon działa za pomocą następującego polecenia:
$ sudo Systemctl Status Docker
Wynik powinien wyglądać poniżej. Status „Active (Uruchamianie) oznacza, że wszystko jest w porządku.
● Docker.Usługa - silnik kontenera aplikacji Docker |
Załadowany: załadowany (/lib/systemd/system/Docker.praca; włączony; PRESET dostawcy: włączony) |
Active: Active (bieganie) od Sun 2017-08-30 06:53:52 PDT; 2 godziny temu |
Dokumenty: https: // dokumenty.doker.com |
Korzystanie z Dockera
Aby użyć Dockera, musisz zrozumieć 3 koncepcje:
-
- Docker Hub: Docker Hub to repozytorium w chmurze, w którym przechowujesz wszystkie publiczne obrazy Docker. Możesz utworzyć login na Docker Hub tutaj: https: // hub.doker.com/
- Obrazy Docker: Obrazy Docker to niebieskie grafiki różnych kontenerów. Jest to migawka kontenera.
- Kontener Docker: Uruchamianie obrazu Dockera Otrzymujesz kontener. Kontener to maszyna robocza, której będziesz używać do swoich zadań.
Zacznijmy korzystać z Dockera.
Polecenia dokera
Możesz wyświetlić wszystkie polecenia Docker z następującymi:
Tutaj możesz znaleźć wszystkie polecenia Docker.
Jeśli chcesz dowiedzieć się o konkretnym poleceniu, możesz użyć:
$ Docker Target -command -Help
gdzie „docelowy-command” jest poleceniem, które chcesz zbadać.
Pobieranie obrazów Docker
Obrazy dokera są pobierane z Docker Hub. Nie musisz się logować, aby pobierać i używać obrazów, ale potrzebujesz logowania do przesyłania obrazów.
Pobierz swój pierwszy obraz Docker za pomocą następującego polecenia:
Wyjście powinno wyglądać tak:
Nie można znaleźć obrazu „Hello-World: najnowszy” lokalnie |
Najnowsze: pobieranie z biblioteki/hello-world |
B04784FBA78D: Pull Complete |
Digest: SHA256: F3B3B28A45160805BB16542C9531888519430E9E6D6FFC09D72261B0D26FF74F |
Status: pobrano nowszy obraz dla Hello-World: najnowszy |
Ta wiadomość pokazuje, że instalacja wydaje się działać poprawnie. |
W powyższych wierszach Docker najpierw szukał obrazu „Hello-World” w lokalnym repozytorium. Kiedy „nie można było znaleźć obrazu”, wyciągnął go z piasty Docker. Następnie działał pojemnik na świat Hello-World.
Poniższe polecenie pokaże dostępne obrazy w Docker Hub:
Szukaliśmy obrazów związanych z „nginx”. Częściowe wyjście wygląda tak:
Nazwa Opis Gwiazdy Oficjalne zautomatyzowane |
Nginx Oficjalna budowa nginx. 6737 [OK] |
JWILDER/NGINX-PROXY Zautomatyzowany proxy Nginx Reverse dla Docker C… 1099 [OK] |
Pojemnik Richarvey/Nginx-Php-FPM z uruchomieniem Nginx + PHP-FPM zdolny… 429 [OK] |
Alternatywnie możesz przejść do https: // hub.doker.com/ i wyszukaj obrazy. „Oficjalne” oznacza wersje, które zostały sprawdzone przez zespół Docker.
Możesz także użyć polecenia „Pull” do pobierania obrazów:
Możesz wyświetlić wszystkie obrazy w lokalnym repozytorium za pomocą następującego polecenia
Wyjście powinno wyglądać tak:
Repozytorium znacznika obrazu utworzone rozmiar |
Ubuntu Najnowsze CCC7A11D65B1 3 tygodnie temu 120 MB |
Nginx Najnowsze B8EFB18F159B 5 tygodni temu 107 MB |
Hello-World Najnowsze 1815C82652C0 2 miesiące temu 1 1.84KB |
Dzięki obrazom z lokalnego repozytorium możesz uruchomić kontener. Na przykład możesz uruchomić swój kontener Nginx z powyższego repozytorium.
Uruchomienie pojemników
Załóżmy, że chcemy utworzyć pojemnik Ubuntu z dostępnego obrazu Ubuntu. Możesz użyć następującego polecenia:
Opcja -it mówi, że polecenie uruchomią, aby uruchomić interaktywną powłokę. Zobaczysz wiersz polecenia w ten sposób:
Oznacza to, że jesteś zalogowany jako użytkownik root do kontenera z ID 6370A8B73050. Możesz zainstalować wszystko, co chcesz w tym kontenerze. Załóżmy, że chcesz zainstalować Python.
Możesz użyć poleceń:
root@6370a8b73050:/# aktualizacja apt-get |
I
root@6370A8B73050:/# apt -get instaluj -y Python3.5 |
Gdy instalacje się powiedzie, masz kontener Ubuntu gotowy Python.
Zawsze możesz sprawdzić status kontenera z wiersza poleceń hosta ($ oznacza monit hosta i root@6370A8B73050 Pytanie kontenera):
Polecenie obrazu ID kontenera utworzone porty statusu nazwy |
6370a8b73050 Ubuntu "/bin/bash" 13 minut temu w górę 12 minut Cranky_Bassi |
Polecenie obrazu ID kontenera utworzone porty statusu nazwy |
6370a8b73050 Ubuntu "/bin/bash" 13 minut temu w górę 13 minut Cranky_Bassi |
6a16d462dd28 Ubuntu "/bin/bash" 16 minut temu Wyjdź (0) 15 minut temu Youthulful_pasteur |
889d3a9328f2 nginx "nginx -g 'demon…" 18 minut temu wyjście (0) 17 minut temu hardcore_ritchie |
W powyższym wyjściu polecenie PS pokazuje tylko działający kontener, podczas gdy polecenie PS z opcją „-a” pokazuje wszystkie kontenery.
Zapisywanie pojemników jako obrazów
Załóżmy, że chcesz zapisać swój pojemnik Python jako obraz, aby ponownie go wykorzystać.
Najpierw wyjdź z pojemnika:
root@6370a8b73050:/# wyjście |
Możesz zapisać kontener w lokalnym repozytorium za pomocą następującego polecenia:
$ Docker Commit -m „Opis zmian” -A „Nazwa autora” Repozytorium Containted/Imagename
Repozytorium to na ogół twoja nazwa użytkownika z Docker Hub. Więc możesz zapisać swój pojemnik Python w ten sposób:
$ Docker commit -m "Python3.5 kontener „-A„ Zak H ”6370a8B73050 Zakh/Python3.5 gotowy |
Jeśli sprawdzisz swoje obrazy, będziesz mieć obraz Pythona w swoim repozytorium:
Repozytorium znacznika obrazu utworzone rozmiar |
Zakh/Python3.5-gotowe najnowsze 6DDF31466A89 2 minuty temu 196MB |
Ubuntu Najnowsze CCC7A11D65B1 3 tygodnie temu 120 MB |
Nginx Najnowsze B8EFB18F159B 5 tygodni temu 107 MB |
Hello-World Najnowsze 1815C82652C0 2 miesiące temu 1 1.84KB |
Możesz popchnąć ten obraz do hub Docker, używając następujących poleceń:
Docker Login -u Nazwa użytkownika
Docker popchnął nazwę użytkownika/nazwa Imagen
W powyższym przypadku będzie to:
Docker Push Zakh/Python3.5 gotowy |
Po naciśnięciu kontenera do hub Docker, inni mogą pobrać obraz na ich komputery i użyć Python3.5 Konfigurujesz środowisko.
Sprzątanie
Następujące polecenie usunie kontenery:
Docker RM Containerid
Poniższe polecenie usunie obrazy z lokalnego repozytorium:
Docker RMI ImageID
Ostateczne słowa
Powyższy przewodnik zawiera proces krok po kroku w celu korzystania z Dockera w celu uproszczenia rozwoju. Możesz tworzyć swoje osobiste konfiguracje, zapisać je jako obrazy i udostępniać je innym użytkownikom lub samodzielnie wykorzystać obrazy. Przyspiesza cały proces rozwoju.
Zaawansowane tematy
- Możesz użyć DockerFile do tworzenia obrazów z pisemnych plików YAML.
- Docker Swarm może pomóc w organizacji i zarządzaniu dużą liczbą węzłów Docker.
Bibliografia:
- https: // dokumenty.doker.com/silnik/instalacja/Linux/Docker-CE/Ubuntu/
- https: // www.Digitalocean.com/community/samouczki/instalacja i użycie-użycie-Docker-On-Uuntu-16-04
- https: // docker-curriculum.com/
- https: // www.Digitalocean.com/community/samouczki/Docker-ecosystem-an-introdukcja-to-common-components
- https: // www.Airpair.com/Docker/Posts/8-Urove-Real-World-Dray-Drays-to-Us-Sed-Docker
- http: // www.ZDNET.com/artykuł/what-Is-Docker-and-co-Is-it-tak-darn-popularny/
- https: // dokumenty.doker.com/Enterprise/
- https: // dokumenty.doker.com/silnik/rój
- https: // dokumenty.doker.com/silnik/referencyjny/budowniczy/
- https: // dokumenty.doker.com/silnik/reference/Commandline/Docker/