Jak zainstalować i korzystać z Docker na Ubuntu

Jak zainstalować i korzystać z Docker na Ubuntu

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:

$ sudo apt-get install \
Apt-Transport-Https \
CA-certyfikaty \
curl \
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 \
$ (lsb_release -cs) \
stabilny"

„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
Główny PID: 827 (Docker)

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:

$ Docker

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:

$ Docker Run Hello-World

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
Witam od Dockera!
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:

$ Docker Search nginx

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:

$ Docker Pull Nginx

Możesz wyświetlić wszystkie obrazy w lokalnym repozytorium za pomocą następującego polecenia

$ Docker Images

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:

$ Docker Run -it Ubuntu

Opcja -it mówi, że polecenie uruchomią, aby uruchomić interaktywną powłokę. Zobaczysz wiersz polecenia w ten sposób:

root@6370A8B73050:/#

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):

$ Docker Ps
Polecenie obrazu ID kontenera utworzone porty statusu nazwy
6370a8b73050 Ubuntu "/bin/bash" 13 minut temu w górę 12 minut Cranky_Bassi
$ Docker PS -A
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:

$ Docker Images
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:

login docker -u zakh
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/