Tytuł oryginału: Mastering Docker - Second Edition · Rozdziaï 1. Docker — wprowadzenie 17...
Transcript of Tytuł oryginału: Mastering Docker - Second Edition · Rozdziaï 1. Docker — wprowadzenie 17...
Tytuł oryginału: Mastering Docker - Second Edition
Tłumaczenie: Konrad Matuk
ISBN: 978-83-283-4308-5
Copyright © Packt Publishing 2017. First published in the English language under the title ‘Mastering Docker - Second Edition – (9781787280243)’
Polish edition copyright © 2018 by Helion SAAll rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Wydawnictwo HELIONul. Kościuszki 1c, 44-100 GLIWICEtel. 32 231 22 19, 32 230 98 63e-mail: [email protected]: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/dockazMożesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Pliki z przykładami omawianymi w książce można znaleźć pod adresem: ftp://ftp.helion.pl/przyklady/dockaz.zip
Printed in Poland.
• Kup książkę• Poleć książkę • Oceń książkę
• Księgarnia internetowa• Lubię to! » Nasza społeczność
Spis tre ci
O autorach 9
O recenzentach 11
Wst p 13
Rozdzia 1. Docker — wprowadzenie 17
Czym jest Docker? 17Programi ci 18Administratorzy 19Firmy 21
Ró nice pomi dzy dedykowanymi hostami, maszynami wirtualnymi i Dockerem 22Instalacja Dockera 23
Instalacja w systemie Linux (Ubuntu 16.04) 24Instalacja w systemie macOS 25Instalacja w systemie Windows 10 Professional 27Starsze systemy operacyjne 28
Klient Dockera w wierszu polece 29Ekosystem Dockera 32Podsumowanie 33
Rozdzia 2. Tworzenie obrazów kontenerów 35
Plik Dockerfile — wprowadzenie 35Szczegó owa analiza pliku Dockerfile 37Dobre praktyki pracy z plikami Dockerfile 41
Budowanie obrazów Dockera 42Polecenie docker build 42Korzystanie z utworzonego wcze niej kontenera 44Budowanie od podstaw 48
Zmienne rodowiskowe 50Umieszczanie zmiennych rodowiskowych w pliku Dockerfile 50
Czas wszystko po czy ze sob 50Podsumowanie 56
Poleć książkęKup książkę
Spis tre ci
4
Rozdzia 3. Przechowywanie obrazów i ich dystrybucja 57
Repozytorium Docker Hub 57Panel g ówny 58Przycisk Explore 59Przycisk Organizations 60Menu Create 60Profil i ustawienia 61Strona Stars 62Automatyzacja budowy obrazu 63adowanie w asnych obrazów 68
Serwis Docker Store 70Rejestr Docker Registry 71
Docker Registry — informacje ogólne 71Wdra anie w asnego rejestru 72Rejestr Docker Trusted Registry 74
Niezale ne rejestry 75Quay 75Rejestr Amazon EC2 Container Registry 78
Microbadger 79Podsumowanie 82
Rozdzia 4. Zarz dzanie kontenerami 83
Polecenia s u ce do obs ugi kontenerów Dockera 84Podstawy 84Komunikowanie si z kontenerami 88Dzienniki i informacje o procesach 91Ograniczenia zasobów 93Stany kontenerów i pozosta e polecenia 95Usuwanie kontenerów 97
Obs uga sieci i wolumenów 100Sie 100Wolumeny Dockera 107
Podsumowanie 112
Rozdzia 5. Docker Machine 113
Wprowadzenie do narz dzia Docker Machine 113Docker Machine i wdra anie lokalnych hostów Dockera 114Uruchamianie hostów Dockera w chmurze 119
DigitalOcean 119Amazon Web Services 121
Wi cej o sieciowych mo liwo ciach Dockera 124Stosowanie innych bazowych systemów operacyjnych 128
System CoreOS w chmurze DigitalOcean 128System RancherOS w maszynie WirtualBox 130
Podsumowanie 131
Poleć książkęKup książkę
Spis tre ci
5
Rozdzia 6. Docker Compose 133
Wprowadzenie do Docker Compose 133Uruchamianie aplikacji za pomoc narz dzia Docker Compose 135Plik YAML narz dzia Docker Compose 137
Plik YAML aplikacji Mobycounter 137Aplikacja do g osowania 139
Polecenia Docker Compose 146Up i PS 147Config 148Pull, build i create 148Start, stop, restart, pause i unpause 149Top, logs i events 149Exec i run 151Scale 152Kill, rm i down 153
Podsumowanie 154
Rozdzia 7. Docker Swarm 155
Docker Swarm — instalacja 156Role Docker Swarm 156
Mened er Swarm 157Wykonawca Swarm 157
Korzystanie z trybu Docker Swarm 158Tworzenie klastra 158Do czanie wykonawców 160Listy w z ów 161Zarz dzanie klastrem 161Promowanie hosta roboczego 164Degradacja w z a mened era 165Drena w z a 166
Us ugi i stosy Docker Swarm 168Us ugi 168Stosy 171
Kasowanie klastra Swarm 173Równowa enie obci e , nak adki i tworzenie harmonogramów 174
Równowa enie obci e wej ciowych 174Nak adki sieciowe 175Tworzenie harmonogramu 176
Podsumowanie 176
Rozdzia 8. Portainer 177
Historia prac nad narz dziem Portainer 177Uruchamianie narz dzia Portainer 178Korzystanie z narz dzia Portainer 180
Panel g ówny 181Szablony aplikacji 181
Poleć książkęKup książkę
Spis tre ci
6
Kontenery 183Obrazy 187Sieci i wolumeny 190Zdarzenia 190Docker 191
Portainer i Docker Swarm 191Tworzenie klastra 192Us uga Portainer 193Ró nice zwi zane z prac w klastrze 194
Podsumowanie 199
Rozdzia 9. Rancher 201
Instalacja i konfiguracja uwierzytelniania 201Instalacja 202Konfiguracja uwierzytelniania 204
Tworzenie stada 207Uruchamianie stosów 209
Stosy definiowane przez u ytkownika 210Podgl d w a ciwo ci kontenerów 216Katalog 217
Usuwanie stada 217Inne klastry 218Podsumowanie 221
Rozdzia 10. Us uga Docker Cloud 223
Zak adanie konta 224czenie kont 225
DigitalOcean 226Amazon Web Services 227
Uruchamianie w z ów 231Uruchamianie stosu 234Tryb Swarm 238Docker dla Amazon Web Services 239Podsumowanie 244
Rozdzia 11. Bezpiecze stwo platformy Docker 245
Bezpiecze stwo kontenerów 245Zalety 246Host Dockera 246Zaufane ród a obrazów 247
Polecenia Dockera 247Polecenie run 247Polecenie diff 249
Dobre praktyki 250Dobre praktyki pracy w Dockerze 250Zalecenia organizacji Center for Internet Security 251
Poleć książkęKup książkę
Spis tre ci
7
Aplikacja Docker Bench Security 252Uruchamianie narz dzia w systemach macOS i Windows 253Uruchamianie narz dzia w systemie Linux Ubuntu 253Analiza zwracanych informacji 255Docker Bench — podsumowanie 260
Skanowanie zabezpiecze Dockera 260Niezale ne us ugi poprawiaj ce bezpiecze stwo 262
Quay 262Clair 263
Podsumowanie 264
Rozdzia 12. Przep yw zada w platformie Docker 265
Docker i prace programistyczne 265Monitorowanie 277Rozszerzanie na zewn trzne platformy 286
Instalator Tectonic 286Platforma Heroku 289Us uga Amazon Elastic Container Service 290
Jak wygl da rodowisko produkcyjne? 291Hosty Dockera 291Obs uga klastrów 292Rejestry obrazów 293
Podsumowanie 294
Rozdzia 13. Dalsze kroki z Dockerem 295
Wykrywanie us ug 295Consul 295Narz dzie etcd 304Interfejs Docker API 304
Projekt Moby Project 306W asny wk ad w rozwój Dockera 308
Rozwój kodu 308Pomoc innym 309Inny wk ad w rozwój Dockera 310
Podsumowanie 310
Skorowidz 311
Poleć książkęKup książkę
1
Docker— wprowadzenie
Witaj w drugim wydaniu ksi ki Docker. Programowanie aplikacji dla zaawansowanych. W roz-dziale 1. znajdziesz podstawowe wiadomo ci dotycz ce Dockera, które powiniene opanowaprzed przyst pieniem do lektury kolejnych rozdzia ów. Je eli nie masz zbyt du ego do wiad-czenia w pracy z Dockerem, to nie przejmuj si , po przeczytaniu tego rozdzia u dowiesz siwszystkiego, co niezb dne, aby pój dalej. Po przeczytaniu ca ej ksi ki powiniene zostamistrzem Dockera potrafi cym implementowa Dockera we w asnych rodowiskach, b d cymw stanie zbudowa i uruchomi aplikacje w kontenerach.
W tym rozdziale opiszemy nast puj ce wysokopoziomowe zagadnienia: Czym jest Docker? Czym si ró ni Docker od standardowych maszyn wirtualnych? Jak wygl da proces instalacji Dockera? Jakie polecenia obs uguje Docker? Jak wygl da ekosystem Dockera?
Czym jest Docker?Definiowanie, czym jest Docker, zacznijmy od cytatu ze strony internetowej tej platformy:
Docker to obecnie najpopularniejsza platforma przeznaczona do konteneryzacji aplikacji.Umo liwia ona rozwi zanie problemów typu „a u mnie dzia a” powstaj cych podczastworzenia aplikacji przez ró nych programistów. Administratorzy korzystaj z Dockeraw celu uruchamiania na jednym serwerze wielu aplikacji w oddzielonych od siebie
Poleć książkęKup książkę
Docker. Programowanie aplikacji dla zaawansowanych
18
kontenerach i zarz dzania nimi. Docker jest u ywany w wielu firmach podczas pracyzgodnie z metodologi programowania zwinnego, umo liwiaj cej szybsze tworzenie no-wych funkcji, a tak e zwi kszenie bezpiecze stwa w aplikacjach serwerowych systemówLinux i Windows.
Te s owa nie oddaj wszystkiego. Oto liczby opisuj ce popularno Dockera przedstawioneprzez prezesa firmy b d cej twórc Dockera, Bena Goluba, podczas otwarcia konferencjiDockerCon w 2017 r.:
14 milionów hostów Dockera; 900 tysi cy aplikacji korzystaj cych z Dockera; wzrost o 77 000% liczby miejsc pracy zwi zanych z Dockerem; 12 miliardów pobra obrazów; 3300 osób zaanga owanych w rozwój platformy.
Te liczby robi wra enie, je eli we miemy pod uwag , e Docker to technologia obecna narynku dopiero od trzech lat. Materia wideo z tym wyst pieniem mo esz obejrze na stroniehttps://www.slideshare.net/Docker/dockercon-2017-general-session-day-1-ben-golub.
Spróbujmy zrozumie problemy, które rozwi zuje Docker. Zacznijmy od problemów programistów.
Programi ciPoni szy mem to chyba najlepsza ilustracja problemu „na moim komputerze dzia a a bezproblemów”. Obraz ten zacz kilka lat temu pojawia si na prezentacjach, forach dyskusyj-nych i w kana ach Slacka:
To do mieszna ilustracja cz stego problemu, z którym spotyka em si osobi cie.
Poleć książkęKup książkę
Rozdzia 1. • Docker — wprowadzenie
19
ProblemPomimo zachowania najlepszych praktyk metodologii DevOps wci mo liwe jest istnienieró nic pomi dzy rodowiskiem programistycznym i produkcyjnym.
Programista korzystaj cy z wersji PHP przystosowanej do pracy w systemie macOS prawdo-podobnie b dzie pracowa w innej wersji ni serwer produkcyjny pracuj cy pod kontrolsystemu Linux. Nawet je eli obie wersje PHP s identyczne, to rodowiska te mog charakte-ryzowa si inn konfiguracj , innymi przywilejami dotycz cymi korzystania z plików itd. Otojedno potencjalne ród o problemu.
Programista wdra aj cy kod w rodowisku produkcyjnym musi sobie odpowiedzie na nast -puj ce pytanie: Czy lepiej jest skonfigurowa rodowisko produkcyjne tak, aby jego konfigu-racja odpowiada a rodowisku deweloperskiemu, czy lepiej skonfigurowa rodowisko dewe-loperskie tak, aby by o skonfigurowane tak samo jak rodowisko produkcyjne?
Idealnie by oby, aby wszystko by o skonfigurowane w identyczny sposób. Dotyczy do laptopaprogramisty i produkcyjnego serwera, ale to do utopijna wizja, któr trudno zrealizowa .Ka dy pracuje w nieco inny sposób. Zgodno platform trudno jest uzyska nawet wtedy, gdywszystko obs uguje ta sama osoba, a w przypadku zespo u sk adaj cego si z setki programi-stów jest to praktycznie niemo liwe.
Rozwi zanie problemu za pomoc DockeraProgramista korzystaj cy z platformy Docker przeznaczonej dla systemu Windows lub Macmo e obudowa swój kod kontenerem, który mo e by zdefiniowany samodzielnie alboutworzony za pomoc pliku Dockerfile (zagadnienie to opiszemy w rozdziale 2. „Tworzenieobrazów kontenerów”) lub pliku Docker Compose (zagadnienie to opiszemy w rozdziale 6.„Docker Compose”).
Dzi ki temu rozwi zaniu mo liwe jest korzystanie z wybranego rodowiska programistyczne-go i preferowanych sposobów pracy nad kodem. Podczas lektury kolejnych rozdzia ów prze-konasz si o tym, e instalacja i obs uga Dockera wcale nie s trudne. Korzystanie z niego jesto wiele atwiejsze od dbania o zgodno rodowisk nawet za pomoc mechanizmów automatyzacji.
AdministratorzyPrac administratora wykonywa em d u ej, ni powinienem, i z mojego do wiadczenia wyni-ka, e opisany ni ej problem pojawia si do regularnie.
ProblemZa ó my, e opiekujesz si pi cioma serwerami: trzy z nich to serwery sieciowe o do zrówno-wa onym obci aniu, a dwa pozosta e to serwery bazodanowe dzia aj ce w konfiguracji serwernadrz dny i serwer podrz dny, na których uruchomiona jest aplikacja 1. Stosem oprogramowania
Poleć książkęKup książkę
Docker. Programowanie aplikacji dla zaawansowanych
20
zarz dzasz automatycznie za pomoc narz dzia takiego jak Puppet lub Chef. Narz dzie to jestrównie u ywane do konfiguracji wszystkich pi ciu serwerów.
Wszystko dzia a o poprawnie, dopóki nie dosta e zadania wdro enia aplikacji 2 na tych sa-mych serwerach, na których dzia a aplikacja 1. To na pozór nic problematycznego. Mo eszzmodyfikowa konfiguracj narz dzia Puppet lub Chef w celu dodania nowych u ytkowni-ków i wirtualnych hostów oraz zaci gni cia nowego kodu, ale po chwili orientujesz si , eaplikacja 2 wymaga wy szej wersji oprogramowania od aplikacji 1.
Okazuje si , e aplikacja 1 nie chce wspó pracowa z nowym stosem oprogramowania, a apli-kacja 2 nie jest wstecznie kompatybilna.
Istnieje kilka tradycyjnych rozwi za tego problemu, ale adne z nich nie jest idealne: 1. Mo esz poprosi o dodatkowe serwery. Technicznie rzecz bior c, jest tonajbezpieczniejsze rozwi zanie, ale wi e si to z poniesieniem wydatkówna dodatkow infrastruktur .
2. Mo esz zmieni architektur aplikacji. Wyj cie jednego z serwerów sieciowychi bazodanowych b d cego kopi lub poprawiaj cego obci enia roboczei wdro enie na nim stosu aplikacji 2 mo e wydawa si równie dobrymrozwi zaniem. Jednak e sprawi ono, e aplikacja 2 b dzie podatna na awarie,a stabilno pracy aplikacji 1 mo e ulec pogorszeniu (prawdopodobniez jakiego powodu dzia a a ona na trzech serwerach sieciowych i dwóchserwerach bazodanowych).
3. Mo esz podj prób równoleg ej instalacji nowego stosu oprogramowania.Oczywi cie jest to mo liwe i mo e wydawa si dobrym tymczasowymrozwi zaniem umo liwiaj cym uruchomienie nowego projektu, ale wdro eniekrytycznej poprawki zabezpiecze którego ze stosów mo e by wtedy bardzok opotliwe.
Rozwi zanie problemu za pomoc DockeraZastosowanie Dockera to doskona e rozwi zanie tego problemu. Gdyby aplikacja 1 by a uru-chomiona na trzech serwerach w kontenerach, to móg by nawet zdublowa te kontenery, copozwoli oby na g adkie wdra anie nowych wersji tej aplikacji „w locie”, bez ograniczania jejdost pno ci.
Wdro enie aplikacji 2 w tym rodowisku sprowadza si po prostu do uruchomienia wi kszejliczby kontenerów w trzech hostach i skonfigurowania systemu równowa enia obci enia.Wdra aj c kontenery, nie musisz si przejmowa problemami wynikaj cymi z wdra ania,konfigurowania i zarz dzania dwiema wersjami tego samego stosu oprogramowania na tymsamym serwerze.
Dok adnie taki scenariusz opiszemy w rozdziale 6. „Docker Compose”.
Poleć książkęKup książkę
Rozdzia 1. • Docker — wprowadzenie
21
FirmyFirmy cierpi z powodu opisanych wcze niej problemów, poniewa zatrudniaj programistówi administratorów, ale problemy te w skali firmy wydaj si znacznie wi ksze i wi e si z nimiwi ksze ryzyko.
ProblemPrzerwa w dzia aniu aplikacji wi e si z poniesieniem kosztów finansowych, a tak e utratreputacji. Firmy musz wi c testowa ka de wdro enie przed jego udost pnieniem. W zwi zkuz tym nowe funkcje i poprawki s zawieszone z powodu:
Tworzenia i konfiguracji rodowisk testowych. Wdra ania aplikacji w nowych rodowiskach. Wykonywania zaplanowanych testów i poprawiania aplikacji i konfiguracji a
do poprawnego przej cia testów. Zmian i omawiania da modyfikacji aplikacji podczas wdra ania jej kodu
w rodowisku produkcyjnym.
Proces ten mo e trwa od kilku dni do tygodni, a nawet miesi cy. Zale y to od z o ono ciaplikacji i ryzyka wprowadzanego przez zmiany. Proces ten jest niezb dny do zapewnieniaci g o ci i dost pno ci na poziomie technologicznym, ale wi e si z potencjalnymi zagro e-niami natury biznesowej. Co, je eli konkurencja udost pni podobne lub, o zgrozo, identycznefunkcje przed Tob ?
Takie zdarzenie mo e mie tak samo negatywny wp yw na sprzeda i reputacj firmy jak udo-st pnienie nieprzetestowanego wdro enia.
Rozwi zanie problemu za pomoc DockeraZaczniemy od stwierdzenia, e Docker nie zwalnia z wykonywania opisanego wcze niej pro-cesu, ale jak ju pisali my, u atwia wykonywanie pracy w sposób ci g y. Dzi ki niemu pro-grami ci mog pracowa w tak samo skonfigurowanym kontenerze jak kontener wdro ony naprodukcji, co z pewno ci upro ci metodologi jego testowania.
Gdy np. programista aduje kod, który wed ug niego dzia a w jego lokalnym rodowisku ( ro-dowisku, w którym przeprowadzano prace programistyczne), to mo liwe jest takie skonfigu-rowanie narz dzia testuj cego, aby uruchomi o te same kontenery w celu przeprowadzeniaautomatycznego testu. Po zako czeniu testowania kontenery mog zosta usuni te w celuzwolnienia zasobów dla kolejnego zestawu testów. Technika ta sprawia, e proces testowaniai zwi zane z nim procedury s o wiele bardziej elastyczne i mo liwe staje si wielokrotne ko-rzystanie z tego samego rodowiska, co zwalnia z konieczno ci ponownego wdra ania lubodtwarzania serwerów z obrazów przed przeprowadzeniem kolejnego zestawu testów.
Poleć książkęKup książkę
Docker. Programowanie aplikacji dla zaawansowanych
22
Opisane rozwi zanie usprawnia proces wdra ania nowych aplikacji w rodowisku produkcyjnym.
Im szybciej zostanie on przeprowadzony, tym wcze niej b dziesz móg pewnie wprowadzinowe funkcje lub poprawki, nie daj c si wyprzedzi konkurencji.
Ró nice pomi dzy dedykowanymi hostami,maszynami wirtualnymi i DockeremOpisali my problemy, które Docker mia rozwi za . Teraz zajmiemy si opisem szczegó ówmechanizmu dzia ania tej platformy.
Docker to system zarz dzania, który u atwia obs ug kontenerów LXC (Linux Containers).Rozwi zanie to umo liwia tworzenie obrazów w rodowiskach wirtualnych na laptopach pro-gramistów i uruchamianie na nich polece . Docker umo liwia wykonywanie na kontenerachuruchomionych lokalnie tych samych operacji, które b d przeprowadzane w rodowiskuprodukcyjnym.
W zwi zku z tym nie ma konieczno ci robienia czego w sposób inny w rodowisku lokalnymi w rodowisku serwerowym. Porównajmy ró nice pomi dzy kontenerami Dockera i typowymirodowiskami maszyn wirtualnych.
Poni szy schemat przedstawia ró nice pomi dzy dedykowanym, fizycznym serwerem i ser-werem uruchomionym w maszynie wirtualnej:
Poleć książkęKup książkę
Rozdzia 1. • Docker — wprowadzenie
23
Jak widzisz, w przypadku dedykowanego serwera wszystkie trzy aplikacje wspó dziel ten samstos oprogramowania wyró niony kolorem pomara czowym. Maszyny wirtualne umo liwiajuruchomienie trzech aplikacji na dwóch zupe nie innych stosach oprogramowania. Na poni szymschemacie pokazano te same aplikacje (wyró nione kolorem pomara czowym i zielonym)uruchomione w kontenerach Dockera:
Schemat ten przedstawia najwi ksz zalet Dockera — brak potrzeby uruchamiania ca egonowego systemu operacyjnego podczas dodawania nowych kontenerów, co pozwala na zredu-kowanie ich rozmiaru. Docker korzysta z j dra systemu Linux hosta. Wi kszo wersji syste-mu Linux korzysta ze standardowych modeli j dra, a wi c Docker mo e dzia a w dystrybu-cjach takich jak Red Hat, CentOS i Ubuntu. W zwi zku z tym systemem hosta mo e byprawie ka da dystrybucja systemu Linux. Aplikacja w kontenerze jest traktowana tak, jakbysystem operacyjny nie by kompletny, a posiada tylko niezb dne pliki binarne, takie jak np.mened er pakietów, serwer Apache-PHP i biblioteki potrzebne do uruchomienia aplikacji.
W przypadku wcze niejszej ilustracji pomara czowa aplikacja mog a dzia a w dystrybucjiRed Hat, a zielona w dystrybucji Debian, ale adna z tych dystrybucji nie musia aby by sys-temem hosta. Kolejn zalet Dockera jest rozmiar obrazów. Obrazy nie musz zawiera du ychelementów, takich jak j dro systemu operacyjnego lub ca y system operacyjny. Dzi ki temu sone bardzo ma e i atwe do przesy ania.
Instalacja DockeraInstalator Dockera to pierwszy element tego ekosystemu, który nale y uruchomi w swoimlokalnym rodowisku, a tak e na serwerach. Oto lista rodowisk, w których mo na zainstalowaDockera:
Linux (ró ne dystrybucje); Apple macOS; Windows 10 Professional.
Poleć książkęKup książkę
Docker. Programowanie aplikacji dla zaawansowanych
24
Ponadto instalator Dockera mo e zosta uruchomiony w chmurze takiej jak np. Amazon WebServices, Microsoft Azure i DigitalOcean. Docker integruje si w ró ny sposób z systemamioperacyjnymi, dlatego dla ka dego systemu przewidziano inny instalator. Podstawowym ro-dowiskiem pracy Dockera jest Linux, a wi c je eli korzystasz z tego systemu, jego urucho-mienie nie b dzie stanowi o adnego problemu. Docker dzia a nieco inaczej w systemach macOSi Windows 10. Wynika to z tego, e korzysta on wewn trznie z rozwi za systemu Linux.
Przyjrzyjmy si procesowi instalacji Dockera na komputerze stacjonarnym pracuj cym podkontrol systemu Linux — Ubuntu 16.04, a nast pnie systemów macOS i Windows 10.
Instalacja w systemie Linux (Ubuntu 16.04)Zgodnie z tym, co wcze niej pisali my, instalacja Dockera w systemie Linux jest najprostsza.W celu zainstalowania Dockera uruchom poni sze polecenia w sesji Terminala:
$ curl -sSL https://get.docker.com/ | sh$ sudo systemctl start docker
Uruchomienie tych polece spowoduje pobranie, zainstalowanie i skonfigurowanie najnowszejwersji Dockera. Program zostanie pobrany bezpo rednio z serwera jego autorów. W momenciepisania tej ksi ki najnowsz wersj Dockera instalowan przez oficjalny skrypt jest 17.05.
W celu sprawdzenia poprawno ci instalacji i dzia ania Dockera uruchom polecenie:
$ docker version
W Terminalu powinien pojawi si komunikat podobny do nast puj cego:
W dalszej cz ci ksi ki b dziemy korzysta z dwóch narz dzi pomocniczych, które s auto-matycznie instalowane wraz z Dockerem w systemach macOS i Windows. Zainstaluj je teraz,dzi ki czemu nie b dziesz traci na to czasu pó niej. Pierwszym z tych narz dzi jest DockerMachine. W celu zainstalowania go uruchom poni sze polecenia:
Poleć książkęKup książkę
Rozdzia 1. • Docker — wprowadzenie
25
Aby sprawdzi , czy instalujesz najnowsz wersj narz dzia, wejd w sekcj z wersjami znajduj c si nastronie projektu w repozytorium GitHub — https://github.com/docker/machine/releases/. W celu zain-stalowania wersji innej ni v.0.13.0 po prostu umie inny numer wersji w poni szym poleceniu.
$ curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine &&
chmod +x /tmp/docker-machine && sudo cp /tmp/docker-machine /usr/local/bin/docker-machine
W celu pobrania i zainstalowania narz dzia Docker Compose uruchom poni sze polecenie.Tu równie sprawd , czy pobiera ono najnowsz wersj — wejd na stron https://github.com/docker/compose/releases/:
$ sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose &&
chmod +x /usr/local/bin/docker-compose
Po poprawnym zainstalowaniu narz dzia mo na uruchomi nast puj ce polecenia:
$ docker-compose version$ docker-machine version
Instalacja w systemie macOSDocker w systemie macOS instalowany jest za pomoc graficznego instalatora.
Przed pobraniem instalatora upewnij si , e pracujesz w systemie Apple macOS Yosemite 10.10.3 lub now-szym. Je eli korzystasz ze starszej wersji tego systemu, to mo esz równie i w niej uruchomi Dockera— zajrzyj do sekcji „Starsze systemy operacyjne”.
Instalator mo esz pobra z serwisu Docker Store (https://store.docker.com/editions/community/docker-ce-desktop-mac/). Kliknij przycisk Get Docker (pobierz Dockera). Spowoduje to po-branie pliku DMG. Kliknij go dwukrotnie w celu zamontowania obrazu i uruchomienia go.Na ekranie Twojego komputera powinno pojawi si nast puj ce okno:
Poleć książkęKup książkę
Docker. Programowanie aplikacji dla zaawansowanych
26
Po przeci gni ciu ikony Dockera do folderu aplikacji kliknij j dwukrotnie. Zostaniesz zapytany,czy chcesz otworzy pobran aplikacj . Kliknij Tak, co uruchomi instalator:
Kliknij przycisk Next (dalej) i wykonuj instrukcje wy wietlane na ekranie. Po zainstalowaniui uruchomieniu Dockera jego ikona powinna pojawi si na belce widocznej w prawym gór-nym rogu ekranu. Klikni cie tej ikony i wybranie opcji About Docker (o Dockerze) spowodujewy wietlenie okna podobnego do poni szego:
Mo esz równie otworzy okno Terminala i uruchomi w nim to samo polecenie, z któregokorzystali my w systemie Linux:
$ docker version
Powinno ono spowodowa wy wietlenie informacji o Dockerze:
Poleć książkęKup książkę
Rozdzia 1. • Docker — wprowadzenie
27
Oto polecenia, dzi ki którym sprawdzisz wersje narz dzi Docker Compose i Docker Machinezainstalowanych wraz z silnikiem Docker Engine:
$ docker-compose version$ docker-machine version
Instalacja w systemie Windows 10 ProfessionalW systemie Windows, podobnie jak w systemie macOS, Docker jest instalowany równie zapomoc graficznego instalatora.
Przed pobraniem instalatora upewnij si , e pracujesz w 64-bitowej wersji systemu Microsoft Windows10 Professional lub Enterprise. Je eli korzystasz ze starszej wersji tego systemu lub nieobs ugiwanejwersji Windows 10, zajrzyj do sekcji „Starsze systemy operacyjne”.
Docker wymaga okre lonej wersji systemu Windows, poniewa korzysta z Hyper-V — hipernadzorcywbudowanego w system Windows, umo liwiaj cego uruchamianie aplikacji o architekturze x86-64.Mog to by aplikacje systemu Windows 10 Professional lub Windows Server. Wspomniany hipernad-zorca wchodzi nawet w sk ad systemu operacyjnego konsoli XBox One.
Instalator Dockera dla systemu Windows mo esz pobra z serwisu Docker Store https://store.docker.com/editions/community/docker-ce-desktop-windows/. Kliknij przycisk Get Docker (pobierzDockera) w celu pobrania instalatora. Po uruchomieniu instalatora Docker zostanie automa-tycznie rozpakowany i zainstalowany. Opcja uruchomienia hipernadzorcy pojawi si przypierwszym uruchomieniu Dockera.
Po zako czeniu procesu instalacji ikona Dockera pojawi si w zasobniku systemowym wy-wietlanym w prawym dolnym rogu ekranu. Kliknij j i wybierz opcj About Docker, co spo-
woduje wy wietlenie okna z informacjami o zainstalowanej wersji Dockera:
Poleć książkęKup książkę
Docker. Programowanie aplikacji dla zaawansowanych
28
Otwórz okno PowerShell i uruchom w nim polecenie:
$ docker version
W oknie pojawi si informacje podobne do tych, które by y wy wietlane w wersjach prze-znaczonych dla systemów Mac i Linux:
W systemie równie mo esz uruchomi nast puj ce polecenia:
$ docker-compose version$ docker-machine version
Starsze systemy operacyjneJe eli korzystasz ze starszej wersji systemu macOS lub Windows, to musisz skorzysta z na-rz dzia Docker Toolbox. By mo e zauwa y e , e po uruchomieniu polecenia:
$ docker version
w przypadku zaprezentowanych trzech instalacji wy wietlone zosta y informacje o dwóchwersjach: klienta i serwera. W przypadku instalacji w systemie Linux komunikat zawiera in-formacje o tym, e architektura klienta i serwera to Linux; w przypadku wersji zainstalowanejw systemie macOS komunikat informowa o tym, e klient dzia a na architekturze Darwin,czyli uniksowym j drze firmy Apple, a w systemie Windows klient dzia a na architekturzesystemu Windows, ale wszystkie serwery dzia aj wed ug komunikatu na architekturze systemuLinux. Jak to mo liwe?
Wynika to z tego, e wersje Dockera pracuj ce w systemach Windows i macOS pobieraji uruchamiaj w tle maszyn wirtualn , w której uruchomiony jest lekki system operacyjnyAlpine Linux. Maszyna ta korzysta z w asnych bibliotek Dockera, które cz si z wbudowa-nym hipernadzorc wybranego rodowiska. W przypadku systemu macOS jest to wbudowanymodu Hypervisor Framework (https://developer.apple.com/documentation/hypervisor), a w systemieWindows jest to Hyper-V (https://www.microsoft.com/en-gb/cloud-platform/server-virtualization).
Poleć książkęKup książkę
Rozdzia 1. • Docker — wprowadzenie
29
Istniej wersje Dockera przeznaczone dla starszych wersji systemów macOS i Windows. Niekorzystaj one z wbudowanych hipernadzorców. Zamiast nich u ywaj programu VirtualBoxw charakterze hipernadzorcy — lokalny klient czy si z uruchomionym w tym programieserwerem Linux.
VirtualBox to otwarte narz dzie wirtualizacyjne przeznaczone dla architektur x86 i AMD64/Intel64 opra-cowane przez firm Oracle. Dzia a ono w hostach Windows, Linux, Macintosh i Solaris. Obs uguje wielewirtualizowanych systemów operacyjnych z rodzin Linux, Unix i Windows. Wi cej informacji na tematprogramu VirtualBox znajdziesz na stronie https://www.virtualbox.org.
Wi cej informacji na temat projektu Docker Toolbox znajdziesz na stronie https://www.docker.com/get-docker, z której mo esz równie pobra programy instalacyjne systemów macOS i Windows.
W tej ksi ce zak adamy, e zainstalowa e najnowsz wersj Dockera w systemie Linux lub korzystaszz Dockera w wersji dla systemu macOS lub Windows. Co prawda instalacje wykonane przy u yciu na-rz dzia Docker Toolbox powinny obs ugiwa polecenia opisane w tej ksi ce, ale pracuj c w takiej in-stalacji, mo esz spotka si z problemami wynikaj cymi z braku uprawnie do plików podczas monto-wania w kontenerze danych z lokalnej maszyny.
Klient Dockera w wierszu polecePo zainstalowaniu Dockera czas przypomnie sobie jego najwa niejsze polecenia. Zaczniemyod tych, które s u ywane najcz ciej, przejdziemy do polece , które s u ywane podczas za-rz dzania obrazami, a na koniec zajmiemy si poleceniami dotycz cymi kontenerów.
Docker niedawno zmieni struktur klienta obs ugiwanego z poziomu wiersza polece . Polecenia zosta ypogrupowane w sposób bardziej logiczny. Zabieg ten wynika z szybkiego rozwijania si platformyi krzy owania polece . W tej ksi ce b dziemy korzysta z nowej struktury. Wi cej informacji na tematzmian wprowadzonych w kliencie obs ugiwanym za pomoc wiersza polece znajdziesz w artykulehttps://blog.docker.com/2017/01/whats-new-in-docker-1-13/.
Zaczniemy od najwa niejszego polecenia — tego wy wietlaj cego pomoc. W celu urucho-mienia pomocy uruchom polecenie:
$ docker help
Na ekranie pojawi si lista wszystkich dost pnych polece Dockera wraz z krótkimi opisamiich funkcji. W celu uzyskania bardziej szczegó owych informacji dotycz cych wybranego po-lecenia wpisz:
$ docker <POLECENIE> --help
Poleć książkęKup książkę
Docker. Programowanie aplikacji dla zaawansowanych
30
Teraz mo emy przyst pi do uruchomienia kontenera hello-world. Zróbmy to za pomocpolecenia (w zale no ci od konfiguracji systemu Linux mo e istnie konieczno poprzedze-nia polece instrukcj sudo):
$ docker container run hello-world
Niewa ne, na jakim ho cie uruchomiono Dockera. W systemach Linux, macOS i Windowszostan wykonane te same operacje — Docker pobierze obraz kontenera hello-world, uru-chomi go, a nast pnie zatrzyma po wykonaniu znajduj cego si w nim kodu.
W oknie Terminala powinny zosta wy wietlone nast puj ce komunikaty:
Zróbmy co ciekawszego. Spróbujmy pobra i uruchomi kontener NGINX. W tym celu na-le y uruchomi nast puj ce polecenia:
$ docker image pull nginx$ docker container run -d --name nginx-test -p 8080:80 nginx
Pierwsze polecenie pobiera obraz kontenera NGINX, a drugie uruchamia go w tle — tworzykontener ngnix-test na bazie pobranego obrazu ngnix. Drugie polecenie mapuje równieport 8080 hosta do portu 80 kontenera, dzi ki czemu mo na uzyska do niego dost p lokalnieza pomoc przegl darki internetowej (pod adresem http://localhost:8080/).
Polecenia te zadzia aj tak samo we wszystkich trzech systemach operacyjnych (o czym prze-konasz si , patrz c na trzy kolejne rysunki). Oto zrzut z systemu Linux:
Poleć książkęKup książkę
Rozdzia 1. • Docker — wprowadzenie
31
Oto zrzut z systemu macOS:
Poleć książkęKup książkę
Docker. Programowanie aplikacji dla zaawansowanych
32
A to zrzut z systemu Windows:
W kolejnych trzech rozdzia ach poszerzysz swoj wiedz dotycz c klienta obs ugiwanego zapomoc wiersza polece . Zatrzymaj i usu kontener nginx-test za pomoc polece :
$ docker container stop nginx-test$ docker container rm nginx-test
Ekosystem DockeraDocker poza do czonymi do niego narz dziami obs uguje równie wiele dodatkowychnarz dzi. Cz z nich opiszemy w kolejnych rozdzia ach. Na koniec pierwszego rozdzia uchcieli my stworzy zarys narz dzi, z których b dziemy korzysta . Najwa niejszym z nichjest Docker Engine.
To j dro Dockera. Korzystaj z niego wszystkie pozosta e opisane przez nas narz dzia. Korzy-stali my z niego w sekcjach zwi zanych z instalacj Dockera. Obecnie utrzymywane s dwiewersje silnika Docker Engine: Docker Enterprise Edition (Docker EE) i Docker CommunityEdition (CE). W tej ksi ce korzystamy z Dockera CE. Niedawno cykl wydawania nowychwersji silnika Docker Engine zosta zmieniony, dzi ki czemu jest bardziej przewidywalny.
Silniki Docker CE i EE maj stabilne wersje, które s aktualizowane co kwarta . Jak zapewnezauwa y e , w systemie macOS i Windows zainstalowali my Dockera w wersji CE v17.03.x.Istnieje jeszcze wersja Edge, w której nowe funkcje s wprowadzane co miesi c, ale lepiejnie korzysta z niej w rodowiskach produkcyjnych. W systemie Linux zainstalowali myDockera w wersji Edge CE 17.05.x. Oto inne elementy ekosystemu Dockera:
Poleć książkęKup książkę
Rozdzia 1. • Docker — wprowadzenie
33
Docker Compose to narz dzie pozwalaj ce na tworzenie i udost pnianiezespo ów kontenerów. Wi cej informacji na ten temat znajdziesz w rozdziale 6.„Docker Compose”.
Docker Machine to narz dzie przeznaczone do uruchamiania hostów Dockerana ró nych platformach. Wi cej informacji na ten temat znajdziesz w rozdziale 5.„Docker Machine”.
Docker Hub to repozytorium przeznaczone do przechowywania obrazów Dockera.Zagadnienia z nim zwi zane zostan poruszone w trzech kolejnych rozdzia ach.
Docker Store to serwis przeznaczony do pobierania oficjalnych obrazów i wtyczekDockera, a tak e innych licencjonowanych produktów. Zagadnienia zwi zane z tymtematem równie zostan poruszone w trzech kolejnych rozdzia ach.
Docker Swarm to narz dzie przeznaczone do orkiestracji mog ce pracowa z wielomahostami. Wi cej informacji na ten temat znajdziesz w rozdziale 7. „Docker Swarm”.
Docker dla systemu macOS. Zagadnienie to opisali my w tym rozdziale. Docker Cloud — platforma CaaS (kontener jako us uga) opisana jest szczegó owo
w rozdziale 10. „Us uga Docker Cloud”. Docker dla systemu Windows. Zagadnienie to opisali my w tym rozdziale. Docker dla us ug Amazon Web Services. Najlepsze praktyki instalacji narz dzia
Docker Swarm w kontek cie obs ugi us ug AWS opiszemy w rozdziale 10.„Us uga Docker Cloud”.
Docker dla Azure. Najlepsze praktyki instalacji narz dzia Docker Swarmw kontek cie obs ugi us ugi Azure opiszemy w rozdziale 10. „Us uga Docker Cloud”.
W kolejnych rozdzia ach przyjrzymy si równie wybranym us ugom niezale nych twórców.
PodsumowanieW tym rozdziale przedstawili my podstawowe zagadnienia, które s niezb dne podczas lek-tury kolejnych rozdzia ów. Dowiedzia e si , czym jest i jak dzia a Docker. Opisali my prze-bieg instalacji Dockera w ró nych systemach operacyjnych i obs ug podstawowych funkcjiDockera z poziomu wiersza polece . Pami taj o konieczno ci sprawdzenia wymaga przed uru-chomieniem instalatora — korzystaj z instalatora w a ciwego dla swojego systemu operacyjnego.
W dalszej cz ci tego rozdzia u opisali my podstawowe polecenia umo liwiaj ce rozpocz ciepracy z Dockerem. W kolejnych rozdzia ach opiszemy wszystkie polecenia s u ce do zarz dzaniakontenerami. Przedstawimy dzia anie poszczególnych polece , a tak e ich zastosowania. Podkoniec tego rozdzia u wymienili my narz dzia wchodz ce w sk ad ekosystemu Dockera.
W kolejnych rozdzia ach przyjrzymy si procesowi tworzenia bazowych kontenerów, opisze-my zagadnienia zwi zane z plikami Dockerfile, przechowywaniem obrazów, a tak e korzysta-niem ze zmiennych rodowiskowych i wolumenów Dockera.
Poleć książkęKup książkę
Docker. Programowanie aplikacji dla zaawansowanych
34
Poleć książkęKup książkę
Skorowidz
AADD, 38administratorzy, 19Amazon
EC2 Container Registry, 78Elastic Block Storage, 290Elastic Compute Cloud, 290Elastic Container Service, 290Web Services, 121, 227
analiza pliku Dockerfile, 37API, 304aplikacja
do g osowania, 139Docker Bench Security, 252Mobycounter, 133, 137NGINX, 50
architektury referencyjne, 293attach, 88Auto Scaling, 291automatyzacja budowy obrazu, 63AWS, Amazon Web Services, 121, 227
Bbezpiecze stwo, 262
kontenerów, 245platformy Docker, 245
budowanepliki kontenerów, 252obrazów, 42, 48
automatyzacja, 63Dockera, 42w asnych, 43
build, 148
Cchmura
DigitalOcean, 119, 128Docker Cloud, 223Google Cloud Storage, 74Microsoft Azure, 74VPC, 122
chmuryprywatne, 122uruchamianie hostów, 119
Clair, 263CMD, 40config, 148Consul, 295
dost pno , 304szablony narz dzia, 302uruchamianie narz dzia, 296us uga Registrator, 296zapytania, 297
COPY, 38CoreOS, 128create, 148
Ddegradacja w z a mened era, 165demon Dockera, 257diff, 249DigitalOcean, 119, 128, 226dobre praktyki, 250Docker, 17
Bench Security, 252analiza informacji, 255konfiguracja demona, 256konfiguracja hosta, 255
Poleć książkęKup książkę
Docker. Programowanie aplikacji dla zaawansowanych
312
Dockerobrazy kontenerów, 257operacje bezpiecze stwa, 260pliki konfiguracyjne demona, 257rodowisko robocze kontenerów, 258
uruchamianie narz dzia, 253Cloud, 33, 223
Amazon Web Services, 239czenie kont, 225
tryb Swarm, 238uruchamianie stosu, 234uruchamianie w z ów, 231zak adanie konta, 224
Community Edition, 32Compose, 33, 133
polecenia, 146uruchamianie aplikacji, 135
dla Azure, 33dla systemu macOS, 33dla systemu Windows, 33dla us ug Amazon Web Services, 33Engine, 32, 246Enterprise Edition, 32Hub, 33, 57
konfiguracja serwisu, 64menu Create, 60panel g ówny, 58profil, 61przycisk Explore, 59przycisk Organizations, 60strona Stars, 62ustawienia, 61
Machine, 33, 113uruchamianie hostów, 119wdra anie lokalnych hostów, 114
Registry, 71wdra anie rejestru, 72
Store, 33, 70Swarm, 33, 155
degradacja w z a mened era, 165do czanie wykonawców, 160drena w z a, 166instalacja, 156kasowanie klastra, 173listy w z ów, 161mened er Swarm, 157nak adki sieciowe, 175promowanie hosta, 164role, 156
równowa enie obci e , 174stosy, 168, 171tworzenie harmonogramu, 176tworzenie klastra, 158us ugi, 168wykonawca Swarm, 157zarz dzanie klastrem, 161
Trusted Registry, 74, 293do czanie wykonawców, 160down, 153drena w z a, 166dystrybucja obrazów, 57dzienniki, 91, 186
EEBS, 290EC2, 290ekosystem, 32ekran g ówny, 58Elastic Load Balancing, 290ELB, 290ENTRYPOINT, 40ENV, 41etcd, 304events, 149exec, 89, 151EXPOSE, 40
FFROM, 37
GGitHub, 76Grafana, 280, 282
Hharmonogram, 176Heroku, 289hosty
dedykowane, 22Dockera, 246, 291lokalne, 114robocze, 164uruchamianie, 119
Poleć książkęKup książkę
Skorowidz
313
Iinformacje
o obci eniu procesora, 186o pami ci, 186o po czeniach sieciowych, 186o procesach, 91
instalacja, 23Docker Swarm, 156Rancher, 202uwierzytelniania, 201w systemie Linux, 24w systemie macOS, 25w systemie Windows 10, 27
instalator Tectonic, 286interfejs Docker API, 304
Kkasowanie klastra Swarm, 173kill, 96, 153klaster, 161, 218, 292
Swarm, 173, 195tworzenie, 192
klient Dockera, 29komunikacja klastra, 293konfiguracja
demona Dockera, 251, 256hosta, 251, 255serwisu Docker Hub, 64uwierzytelniania, 201, 204
kontenery, 35, 44, 183bezpiecze stwo, 245komunikacja, 88podgl d w a ciwo ci, 216polecenia, 84, 95stany, 95usuwanie, 97zarz dzanie, 83
LLABEL, 37Linux Containers, 22listy w z ów, 161logs, 91, 149
adowanie w asnych obrazów, 68
Mmaszyna wirtualna, 22
WirtualBox, 130mened er Swarm, 157menu Create, 60Microbadger, 79mieszanie procesów, 291Moby Project, 306Mobycounter, 137monitorowanie, 277
narz dzia, 285
Nnak adki sieciowe, 175narz dzia do monitorowania, 285narz dzie
cadvisor, 279Consul, 296Docker Bench Security, 252Docker Machine, 113etcd, 304Grafana, 280, 282Microbadger, 79node-exporter, 279Portainer, 177Rancher, 201WP-CLI, 274
Oobci enia wej ciowe, 174obrazy, 187, 252
Dockera, 42dystrybucja, 57kontenerów, 35, 257przechowywanie, 57rejestry, 293zaufane ród a, 247
obs ugaklastrów, 292kontenerów, 84kontenerów LXC, 22sieci, 100wolumenów, 100
Poleć książkęKup książkę
Docker. Programowanie aplikacji dla zaawansowanych
314
ograniczenia zasobów, 93ONBUILD, 41operacje bezpiecze stwa, 252, 260organizacja Center for Internet Security, 251
Ppanel g ówny, 58pause, 96, 149platforma Heroku, 289plik
.dockerignore, 43Dockerfile, 35
analiza, 37budowa obrazu, 42dobre praktyki, 41polecenia, 37, 40zmienne rodowiskowe, 50
YAML, 137pliki konfiguracyjne demona Dockera, 251, 257podgl d w a ciwo ci, 216polecenia
Docker Compose, 146Dockera, 247obs uga kontenerów, 84pliku Dockerfile, 40
polecenieADD, 38attach, 88build, 148CMD, 40config, 148COPY, 38create, 148diff, 249docker build, 42down, 153ENTRYPOINT, 40ENV, 41events, 149exec, 89, 151EXPOSE, 40FROM, 37kill, 96, 153LABEL, 37logs, 91, 149ONBUILD, 41pause, 96, 149prune, 97
ps, 147pull, 148restar, 96restart, 149rm, 98, 153run, 38, 151, 247scale, 152service, 168start, 96, 149stats, 93stop, 96, 149top, 92, 149unpause, 96, 149up, 147USER, 41WORKDIR, 41
Portainer, 177Docker, 191dzienniki, 186konsola, 187kontenery, 183obrazy, 187panel g ówny, 181sieci, 190statystyki, 186stosowanie, 180szablony aplikacji, 181uruchamianie, 178us ugi, 193, 196w z y ko cowe, 198wolumeny, 190zdarzenia, 190
prace programistyczne, 265profil, 61projekt Moby Project, 306przechowywanie obrazów, 57przep yw zada , 265przycisk
Explore, 59Organizations, 60
PS, 147pull, 148
QQuay, 75, 262
Poleć książkęKup książkę
Skorowidz
315
RRancher, 201
instalacja, 202katalog, 217konfiguracja uwierzytelniania, 204tworzenie stada, 207uruchamianie stosów, 209usuwanie stada, 217
RancherOS, 130Registrator, 296rejestr
Amazon EC2 Container Registry, 78Docker Registry, 71Docker Trusted Registry, 74
rejestryniezale ne, 75obrazów, 293
repozytorium, 63Docker Hub, 57GitHub, 76
restar, 96restart, 149rm, 153role Docker Swarm, 156rozszerzenie Weave Net, 124run, 38, 151, 247
Sscale, 152serwis
Docker, 58Docker Hub, 57Docker Store, 70
sieci, 100, 190silnik Consul, 295skanowanie zabezpiecze Dockera, 260stany kontenerów, 95start, 96, 149stats, 93stop, 96, 149stos, 171, 209, 210, 234stosy Docker Swarm, 168strona Stars, 62Swift, 74system
CoreOS, 128Kubernetes, 286
plików, 74RancherOS, 130
szablonyaplikacji, 181narz dzia Consul, 302
rodowiskoprodukcyjne, 291robocze kontenerów, 252, 258wykonawcze, 252
TTectonic, 286top, 92, 149tryb Swarm, 238tworzenie
harmonogramu, 176klastra, 158, 192obrazów kontenerów, 35stada, 207
Uunpause, 96, 149up, 147uruchamianie
aplikacji, 135hostów, 119narz dzia Consul, 296stosów, 209, 234us ugi Registrator, 296w z ów, 231
USER, 41us uga, 196
Amazon Elastic Container Service, 290Amazon S3, 74Docker Cloud, 223Docker Swarm, 168Portainer, 193Quay, 75Registrator, 296
ustawienia, 61usuwanie
kontenerów, 97stada, 217
uwierzytelnianie, 201, 204
Poleć książkęKup książkę
Docker. Programowanie aplikacji dla zaawansowanych
316
VVPC, Virtual Private Cloud, 122, 291
Wwdra anie
lokalnych hostów, 114rejestru, 72
w z yko cowe, 198mened era, 165uruchamianie, 231
wiersz polece , 29WirtualBox, 130w a ciwo ci kontenerów, 216wolumeny, 107, 190WORKDIR, 41wykonawca Swarm, 157wykrywanie us ug, 295
Zzabezpieczenia Dockera, 260zarz dzanie
klastrem, 161kontenerami, 83
zasoby, 93zaufane ród a obrazów, 247zdarzenia, 190zewn trzne platformy, 286zmienne rodowiskowe, 50
ród a obrazów, 247
dania do kontenerów, 292danie SIGTERM, 96
Poleć książkęKup książkę