1 00:00:00,000 --> 00:00:05,042 >> [MUZYKI] 2 00:00:05,042 --> 00:00:06,000 DAVID MALAN: Wszystko w porządku. 3 00:00:06,000 --> 00:00:07,630 Dziękuję bardzo za przybycie. 4 00:00:07,630 --> 00:00:11,850 To seminarium CS50 na DOCKER, a Technologia, że ​​my sami i CS50 5 00:00:11,850 --> 00:00:13,392 zaczęła używać już od jakiegoś czasu. 6 00:00:13,392 --> 00:00:15,766 Więc mam na imię David Malan, ja nauczyć Harvardu Wprowadzenie 7 00:00:15,766 --> 00:00:16,671 do informatyki. 8 00:00:16,671 --> 00:00:18,670 Od dłuższego lat, byliśmy dając studentom 9 00:00:18,670 --> 00:00:20,435 do pobrania ze strony klienta Maszyny wirtualne 10 00:00:20,435 --> 00:00:22,134 na której robią swoje zestawy problemów. 11 00:00:22,134 --> 00:00:24,300 Że mamy teraz przesiedli w środowisku chmurze 12 00:00:24,300 --> 00:00:27,396 że faktycznie korzysta z tej technologii nazywa Docker, takie, że wszystkie CS50 13 00:00:27,396 --> 00:00:29,270 Studenci mają teraz swoje własne pojemniki dokowane 14 00:00:29,270 --> 00:00:31,180 że wkrótce usłyszeć o. 15 00:00:31,180 --> 00:00:33,740 >> Ponadto na serwerze CS50 jest boczna klaster, przez wiele lat 16 00:00:33,740 --> 00:00:35,290 używaliśmy serwer Amazon Cloud. 17 00:00:35,290 --> 00:00:37,164 Jechaliśmy osobę maszyn wirtualnych. 18 00:00:37,164 --> 00:00:40,330 To też, zaczęliśmy przejścia do te rzeczy zwane pojemniki dokowane 19 00:00:40,330 --> 00:00:43,762 tak aby wszystkie nasze aplikacje są teraz całkowicie odizolowane od siebie. 20 00:00:43,762 --> 00:00:46,720 Więc na to i wiele więcej, pozwala mi wprowadzenie naszych przyjaciół, Nico i Mano, 21 00:00:46,720 --> 00:00:48,574 od samego DOCKER. 22 00:00:48,574 --> 00:00:49,740 NICOLA Kabar: Dzięki, David. 23 00:00:49,740 --> 00:00:51,410 Cześć wszystkim. 24 00:00:51,410 --> 00:00:54,230 Nazywam się Nico i to jest Mano. 25 00:00:54,230 --> 00:00:58,260 Jesteśmy z Docker. 26 00:00:58,260 --> 00:01:02,240 Mamy zamiar rozmawiać about-- dając Ci faceci intro do Docker, 27 00:01:02,240 --> 00:01:08,100 i miejmy nadzieję, że pod koniec tej rozmowie można zrealizować 28 00:01:08,100 --> 00:01:12,890 ile można użyć do lekarza, aby szczawianu swój rozwój aplikacji 29 00:01:12,890 --> 00:01:14,200 i wdrażania. 30 00:01:14,200 --> 00:01:21,250 >> Tak, mamy zamiar rozpocząć prawdziwe szybkie z pewnymi informacjami w tle. 31 00:01:21,250 --> 00:01:22,750 Opisz, co Docker wszystkim chodzi. 32 00:01:22,750 --> 00:01:25,490 Jak to działa? 33 00:01:25,490 --> 00:01:27,400 Jak to jest, architected? 34 00:01:27,400 --> 00:01:29,360 Będę robić niektóre dema. 35 00:01:29,360 --> 00:01:35,070 A Mano będzie opisujący w jaki sposób można wykorzystać DOCKER 36 00:01:35,070 --> 00:01:37,720 i daje konkretne kroki jak można zacząć. 37 00:01:37,720 --> 00:01:41,490 >> Będę wdzięczny, jeśli faceci mogą posiadać się do pytania pod koniec. 38 00:01:41,490 --> 00:01:46,800 W ten sposób mogę być zajęcie tych Pytania całej prezentacji. 39 00:01:46,800 --> 00:01:52,150 Będziemy więc zostawić trochę czasu pod koniec na pytania. 40 00:01:52,150 --> 00:01:55,170 >> Więc po prostu bardzo szybko, który ma w rzeczywistości nigdy nie pracował na DOCKER, 41 00:01:55,170 --> 00:01:56,850 jak grał z nim? 42 00:01:56,850 --> 00:01:58,000 Niesamowite. 43 00:01:58,000 --> 00:01:58,520 Fajne. 44 00:01:58,520 --> 00:01:59,817 Wielki. 45 00:01:59,817 --> 00:02:01,525 Tak, mam zamiar zacząć z pewną historią. 46 00:02:01,525 --> 00:02:04,350 47 00:02:04,350 --> 00:02:09,820 Więc z powrotem w latach 90. i początku 2000, w zasadzie 48 00:02:09,820 --> 00:02:16,940 jak programistów, deweloperów aplikacji, gdy poszedł do wdrożyć aplikację 49 00:02:16,940 --> 00:02:19,350 został przywiązany do gołego metalu. 50 00:02:19,350 --> 00:02:20,860 To był jeden serwer. 51 00:02:20,860 --> 00:02:22,870 To była jedna aplikacja. 52 00:02:22,870 --> 00:02:25,260 >> Tradycyjnie Przykład będzie jak stos LAMP, 53 00:02:25,260 --> 00:02:30,630 gdzie faktycznie było uzupełnić pulę zasobów. 54 00:02:30,630 --> 00:02:37,110 CPU, pamięć, dysk, sieć, instalacja System operacyjny na dodatek. 55 00:02:37,110 --> 00:02:40,060 Jeśli obsługujących coś, jeśli jesteś rzeczywiście o serwer WWW, 56 00:02:40,060 --> 00:02:42,470 trzeba coś takiego Apache, aby jej służyć. 57 00:02:42,470 --> 00:02:47,540 >> Jeśli aplikacja potrzebuje bazy danych, backhand, 58 00:02:47,540 --> 00:02:50,840 chcesz zainstalować coś jak MySQL, i tak dalej. 59 00:02:50,840 --> 00:02:55,910 A jeśli potrzebujesz czas pracy, phps PHP Python i pracy tam. 60 00:02:55,910 --> 00:02:59,480 I tak rzeczywiście było podjąć te kroki w celu 61 00:02:59,480 --> 00:03:02,060 aby uzyskać up aplikacji i działa. 62 00:03:02,060 --> 00:03:08,440 >> Jeśli potrzeba więcej mocy obliczeniowej, ty w zasadzie musiałem zadzwonić do Ops faceta 63 00:03:08,440 --> 00:03:16,260 lub gal iść i stojak na nowy kawałek sprzętu, podłączyć go, 64 00:03:16,260 --> 00:03:19,850 i trzeba powtarzać tych procesy ponownie i ponownie. 65 00:03:19,850 --> 00:03:23,680 Tak więc proces ten był stosunkowo drogie. 66 00:03:23,680 --> 00:03:26,080 Czy na pewno bardzo powoli. 67 00:03:26,080 --> 00:03:27,550 >> To było nieefektywne. 68 00:03:27,550 --> 00:03:33,890 I w wielu przypadkach, swoje sprzęt był w pełni wykorzystany. 69 00:03:33,890 --> 00:03:38,830 Tak więc, pod koniec lat 90. i na początku 2000, wirtualizacji sprzętu natknąłem. 70 00:03:38,830 --> 00:03:42,475 I jak widać tutaj, w obraz, w zasadzie to, co zrobili 71 00:03:42,475 --> 00:03:46,390 są wydobywane pulę darmowe zasoby sprzętowe 72 00:03:46,390 --> 00:03:49,680 i rodzaj służył ci do górnych warstwach 73 00:03:49,680 --> 00:03:52,360 w tym przypadku, gość system operacyjny. 74 00:03:52,360 --> 00:03:54,940 >> I cała idea Maszyny wirtualne natknąłem 75 00:03:54,940 --> 00:03:59,110 i to naprawdę pomogło Chmura computing, jakie znamy dzisiaj. 76 00:03:59,110 --> 00:04:02,730 Więc co to oznacza to ty można uruchamiać wiele maszyn wirtualnych, które 77 00:04:02,730 --> 00:04:06,720 Oznaczało wiele stosów, stwardnienie Aplikacja w tym samym urządzeniu fizycznym. 78 00:04:06,720 --> 00:04:10,570 79 00:04:10,570 --> 00:04:16,440 >> To na pewno pomogło z szybkość wdrażania aplikacji. 80 00:04:16,440 --> 00:04:17,629 Zdecydowanie się z wydatkami. 81 00:04:17,629 --> 00:04:22,810 Nie musisz iść i spędzić energii, czasu i zasobów do rack 82 00:04:22,810 --> 00:04:26,210 więcej serwerów, aby dostać się do więcej obliczeniowych. 83 00:04:26,210 --> 00:04:30,950 I prędkość w zasadzie współpraca te zasoby się to znacznie szybciej. 84 00:04:30,950 --> 00:04:31,450 Wielki. 85 00:04:31,450 --> 00:04:34,320 >> Tak więc rozwiązać problem głodu na świecie, prawda? 86 00:04:34,320 --> 00:04:36,390 Nie, nie bardzo. 87 00:04:36,390 --> 00:04:42,410 Więc, wirtualizacja jak to faktycznie pomógł, rozwiązania problemu, 88 00:04:42,410 --> 00:04:45,460 faktycznie wprowadzone wiele wyzwań. 89 00:04:45,460 --> 00:04:49,210 Hypervisor pewno wprowadzono wiele złożoności, 90 00:04:49,210 --> 00:04:53,820 obsługi leżące u podstaw puli środków. 91 00:04:53,820 --> 00:04:57,910 >> To cięższe w tym sensie, że przed miałeś jeden system operacyjny, który 92 00:04:57,910 --> 00:05:01,830 jest jak trzy, cztery koncerty na dysku. 93 00:05:01,830 --> 00:05:04,230 Teraz, jeśli masz 10 maszyn w jednym sprzętu 94 00:05:04,230 --> 00:05:09,060 trzeba pomnożyć od liczby urządzeń. 95 00:05:09,060 --> 00:05:11,440 To zdecydowanie więcej kosztowne w sensie nadal 96 00:05:11,440 --> 00:05:14,430 muszą uzyskać licencji dla technologia wirtualizacji 97 00:05:14,430 --> 00:05:18,210 jeśli nie jest open source. 98 00:05:18,210 --> 00:05:21,120 >> Ale niech nie brać wszystko kredytowa od wirtualizacji. 99 00:05:21,120 --> 00:05:27,530 Bo to, co się stało, istnieje Wiele stosy i wiele oprogramowania 100 00:05:27,530 --> 00:05:33,900 Technologie, które zostały włączone jak szybko jesteś w stanie uzyskać 101 00:05:33,900 --> 00:05:38,040 do zasobów z boomu chmurze. 102 00:05:38,040 --> 00:05:46,675 >> Tak, dzisiaj jedna aplikacja lub usługa może być przy użyciu jednej z następujących czasy pracy 103 00:05:46,675 --> 00:05:47,216 lub baz danych. 104 00:05:47,216 --> 00:05:50,250 105 00:05:50,250 --> 00:05:56,070 PHP, Python, MySQL, Redis, etażerka. 106 00:05:56,070 --> 00:05:59,740 Więc jest dużo złożoności na ten temat liczba stosów faktycznie wychowywać 107 00:05:59,740 --> 00:06:02,210 pojedyncza usługa. 108 00:06:02,210 --> 00:06:07,300 A wraz z tym, można dużo miał środków zabezpieczających lub infrastruktury 109 00:06:07,300 --> 00:06:15,210 Typy przetestować wdrażanie i zasadniczo podjąć się produkcji tych aplikacji 110 00:06:15,210 --> 00:06:16,900 że jesteś rozwoju. 111 00:06:16,900 --> 00:06:21,950 >> Zwłaszcza, zespoły mają uprawiane pracy na tych aplikacji, 112 00:06:21,950 --> 00:06:25,310 istnieje wiele złożoność i wyzwania 113 00:06:25,310 --> 00:06:31,660 które zostały wprowadzone w celu zapewnienia, że cycle-- zasadzie aplikacji 114 00:06:31,660 --> 00:06:34,040 cykl rozwoju, jest naprawdę udany. 115 00:06:34,040 --> 00:06:40,440 Tak więc fakt, że aplikacja działa lokalnie na Twoim VM 116 00:06:40,440 --> 00:06:47,480 nie gwarantuje, że twój kolega będzie się spodziewać, że takie same wyniki. 117 00:06:47,480 --> 00:06:51,330 >> A kiedy zespół operacyjny jest uczestniczą w podejmowaniu co masz 118 00:06:51,330 --> 00:06:54,480 i wdrożenie go do produkcji skalę, również nie ma gwarancji, 119 00:06:54,480 --> 00:06:56,730 że rzeczywiście się stanie. 120 00:06:56,730 --> 00:07:00,900 Więc to pozostawia nam naprawdę big-- wiele znaków zapytania, 121 00:07:00,900 --> 00:07:07,700 wiele wyzwań rzeczywistości w obliczu podobnie w czasach. 122 00:07:07,700 --> 00:07:12,280 I że przypomniał nam przemysłu morskiego. 123 00:07:12,280 --> 00:07:14,280 >> Więc przemysłu morskiego miał dużo towarów, 124 00:07:14,280 --> 00:07:16,190 jak widać na lewej stronie. 125 00:07:16,190 --> 00:07:19,840 A na prawej stronie, tam jest dużo, w zasadzie, 126 00:07:19,840 --> 00:07:22,160 sposoby wysyłać te towary. 127 00:07:22,160 --> 00:07:26,040 A co się dzieje z rodziną ludzie zebrali się i powiedział: 128 00:07:26,040 --> 00:07:29,600 musimy ujednolicić sposób faktycznie wysyłają te towary. 129 00:07:29,600 --> 00:07:33,280 I boom, masz intermodalny transport kontenerowy. 130 00:07:33,280 --> 00:07:38,970 >> Więc zgodzili się na najbardziej wspólne rozmiary pojemnika. 131 00:07:38,970 --> 00:07:40,160 Jak sobie z nimi radzić. 132 00:07:40,160 --> 00:07:44,560 Co Dokładna metoda trzeba ich załadunek i rozładunek im. 133 00:07:44,560 --> 00:07:49,590 I dlatego, że naprawdę pomagał przemysłu morskiego. 134 00:07:49,590 --> 00:07:55,250 Teraz ponad 90% ostrości transportowane na całym świecie są przy użyciu tych pojemników. 135 00:07:55,250 --> 00:08:01,010 I to zdecydowanie zmniejsza koszty, jak również 136 00:08:01,010 --> 00:08:03,400 odszkodowanie z tytułu wysyłki. 137 00:08:03,400 --> 00:08:09,660 >> Więc bierzemy ten sam model, a my zastosowanie oprogramowania rozwoju dwóch aplikacji 138 00:08:09,660 --> 00:08:13,080 architektura, w tym sensie, że containerization 139 00:08:13,080 --> 00:08:15,842 wziął wirtualizacji o jeden poziom wyżej. 140 00:08:15,842 --> 00:08:17,800 Więc zamiast robić to na poziomie sprzętowym, 141 00:08:17,800 --> 00:08:22,060 stało się więcej o eksploatacji Wirtualizacja na poziomie systemu. 142 00:08:22,060 --> 00:08:26,450 >> I robimy to poprzez dostarczanie każdego Aplikacja na własny lekki, 143 00:08:26,450 --> 00:08:31,180 izolowane, uruchamianego i Przenośny, przede 144 00:08:31,180 --> 00:08:35,049 sposób właściwie zapakować wszystko, że musi uciekać. 145 00:08:35,049 --> 00:08:36,100 Wszędzie można je uruchomić. 146 00:08:36,100 --> 00:08:42,039 Tak więc, niezależnie od tego czy używasz go na środowiska lokalnego dev, Twoja produkcja 147 00:08:42,039 --> 00:08:44,490 środowisko, twój postoju lub badania. 148 00:08:44,490 --> 00:08:47,700 Bez względu na to, co bazowego infrastruktura jest tam, 149 00:08:47,700 --> 00:08:51,410 trzeba było funkcjonalną aplikację pracy. 150 00:08:51,410 --> 00:08:54,100 151 00:08:54,100 --> 00:09:01,800 >> Więc to jest dokładnie to, co w zasadzie pojemniki zrobić, aby ten problem. 152 00:09:01,800 --> 00:09:04,070 Są zajęcia go przez Opakowanie to w taki sposób, 153 00:09:04,070 --> 00:09:09,490 że może zagwarantować, że to jest wdrażane z powodzeniem, bez względu gdzie mieszka. 154 00:09:09,490 --> 00:09:12,120 Więc jeśli masz zamiar jak Bob to jeszcze OK. 155 00:09:12,120 --> 00:09:17,860 Jeśli mylić z tym, co mówię, Mam zamiar być opracowanie na ten temat. 156 00:09:17,860 --> 00:09:20,900 >> Więc w jaki sposób sama Docker pasuje na tym obrazku? 157 00:09:20,900 --> 00:09:26,335 Więc Docker jest otwartą platformą łatwo, podkreślają, łatwo, 158 00:09:26,335 --> 00:09:30,500 zbudować statek, biegać, lekki przenośny siebie 159 00:09:30,500 --> 00:09:33,440 wystarczające pojemniki aplikacji wszędzie. 160 00:09:33,440 --> 00:09:37,660 Więc jeśli wziąć coś z tego Dyskusja, wykonaj następujące. 161 00:09:37,660 --> 00:09:40,980 >> Jeśli masz swoją aplikację bieganie lokalnie i go rozwinęła 162 00:09:40,980 --> 00:09:45,930 wykorzystaniem platformy Docker, spodziewać to być z powodzeniem przetestowane. 163 00:09:45,930 --> 00:09:49,380 Bez względu na to, co jest podstawowa infrastruktura. 164 00:09:49,380 --> 00:09:53,830 Więc jeśli masz Docker pojemnik i to działa, a następnie 165 00:09:53,830 --> 00:09:58,130 tak długo, jak istnieje Docker Silnik drugiej side-- 166 00:09:58,130 --> 00:10:02,190 jeśli infrastruktury pracy jest za pomocą jakiejkolwiek chmury, czy to 167 00:10:02,190 --> 00:10:06,680 jest AWS, ani Google, ani Microsoft, lub którykolwiek z publicznych chmur, 168 00:10:06,680 --> 00:10:10,010 lub własne Chmura, lub twój otwarty stos Chmura, lub z lokalnym środowiskiem. 169 00:10:10,010 --> 00:10:11,970 >> Jeśli masz silnik działa, to znaczy 170 00:10:11,970 --> 00:10:14,537 To będzie powodzeniem stosowane tam. 171 00:10:14,537 --> 00:10:16,620 To będzie działać dokładnie takie samo zachowanie 172 00:10:16,620 --> 00:10:21,480 jak go architected być. 173 00:10:21,480 --> 00:10:26,080 Więc jeśli spojrzymy at-- idę przejść przez to, co w rzeczywistości 174 00:10:26,080 --> 00:10:29,160 są w głównych składników DOCKER. 175 00:10:29,160 --> 00:10:31,060 >> Więc Silnik jest w centrum DOCKER. 176 00:10:31,060 --> 00:10:32,770 To mózgu. 177 00:10:32,770 --> 00:10:39,360 To koordynuje budowę, wysyłkę, oraz wdrażania i zarządzania 178 00:10:39,360 --> 00:10:41,570 same pojemniki. 179 00:10:41,570 --> 00:10:45,160 Będę kopać, co robi Silnik dokładniej w sekundę. 180 00:10:45,160 --> 00:10:47,740 181 00:10:47,740 --> 00:10:51,720 Zasadniczo, ponieważ lekarz został zbudowany wokół architektur klient-serwer, 182 00:10:51,720 --> 00:10:56,630 tak, aby współdziałać z Silnik trzeba jakiegoś klienta. 183 00:10:56,630 --> 00:11:01,200 >> Obrazy są szablony które są zbudowane z kontenerów. 184 00:11:01,200 --> 00:11:06,800 Tak więc obrazy są w zasadzie Pliki tylko statyczne. 185 00:11:06,800 --> 00:11:08,740 Szablony i pojemniki jest w rzeczywistości, co jest 186 00:11:08,740 --> 00:11:12,280 działa przy starcie, że odbywa aplikację 187 00:11:12,280 --> 00:11:15,150 lub robi coś z danymi. 188 00:11:15,150 --> 00:11:19,020 >> Ewidencja skierowana jest jako problem jak właściwie dystrybucji obrazów. 189 00:11:19,020 --> 00:11:23,230 Tak więc, jeśli chcesz udostępnić zdjęcie że pracował do kolegi 190 00:11:23,230 --> 00:11:27,220 lub zespołu ops, to używać go przy użyciu rejestru. 191 00:11:27,220 --> 00:11:31,720 Możesz pobrać open source o tym, że w wersji Docker pracował 192 00:11:31,720 --> 00:11:33,150 i open source. 193 00:11:33,150 --> 00:11:38,040 >> Lub użyć Docker pomocy, która to wersja Chmura 194 00:11:38,040 --> 00:11:40,130 do pchania i ciągnięcia obrazów tam. 195 00:11:40,130 --> 00:11:41,160 To duża sprawa. 196 00:11:41,160 --> 00:11:44,520 Ponieważ istnieje ogromna ekosystem wokół DOCKER i to 197 00:11:44,520 --> 00:11:48,960 Naprawdę ciężko wykorzystaniem koncentratora. 198 00:11:48,960 --> 00:11:59,780 >> Tak podsumować tutaj, jest to, w jaki sposób minimalistyczny Docker klienta workflow. 199 00:11:59,780 --> 00:12:04,040 Interakcji z hostem, w w tym przypadku jest to demony dokowane. 200 00:12:04,040 --> 00:12:06,490 To samo, co Engine. 201 00:12:06,490 --> 00:12:09,690 Robisz polecenia, takie jak Docker budować, ciągnąć, bieg. 202 00:12:09,690 --> 00:12:14,280 A sam silnik zostanie i robi takie rzeczy. 203 00:12:14,280 --> 00:12:18,010 >> Więc albo to współdziała z Ewidencja wyciągnąć te obrazy 204 00:12:18,010 --> 00:12:19,670 i warstwy obrazów. 205 00:12:19,670 --> 00:12:25,030 Niezależnie od tego, czy chcesz wdrożyć, uruchom kontenerów, ich zabić, wyrzucić je w dół, 206 00:12:25,030 --> 00:12:25,730 etażerka. 207 00:12:25,730 --> 00:12:32,190 Więc ten podsumowuje workflow wszystkich tych elementów. 208 00:12:32,190 --> 00:12:34,710 >> Więc jeśli wziąć każdy Komponent sama. 209 00:12:34,710 --> 00:12:37,690 Więc silnika, to tylko demon. 210 00:12:37,690 --> 00:12:40,800 To będzie trochę grać na wsparcie to na Linuksie, ponieważ nie 211 00:12:40,800 --> 00:12:44,380 wymagają pewnych funkcji jądra systemu Linux. 212 00:12:44,380 --> 00:12:48,820 Ale system Windows działa on robi to samo. 213 00:12:48,820 --> 00:12:53,720 To ma być obsługiwany przez system Windows Server 2016. 214 00:12:53,720 --> 00:13:01,500 >> Tak więc raz jeszcze obowiązki z Silnik jest, lub są, budować obrazy. 215 00:13:01,500 --> 00:13:05,340 Pociągnij obrazy z Docker Hub lub własnego rejestru. 216 00:13:05,340 --> 00:13:07,840 Jeśli skończysz z tych obrazów lub tworzenia nowych obrazów, 217 00:13:07,840 --> 00:13:14,770 można naciskać te z powrotem do rejestru przesyłanie ich do innych zespołów. 218 00:13:14,770 --> 00:13:18,300 >> I stara się zawierać lokalnie i zarządzania cyklem życia pojemniki 219 00:13:18,300 --> 00:13:19,260 lokalnie. 220 00:13:19,260 --> 00:13:22,010 Jest zbudowany wokół HTTP, REST API. 221 00:13:22,010 --> 00:13:24,480 Więc technicznie można napisać własny klienta 222 00:13:24,480 --> 00:13:31,650 pod warunkiem, że używa protokołu HTTP, który jest bardzo Mechanizm standardowy porozmawiać z silnika 223 00:13:31,650 --> 00:13:33,110 i wiele innych usług. 224 00:13:33,110 --> 00:13:35,780 I widać z tutaj, że niezależnie 225 00:13:35,780 --> 00:13:39,010 z jakiej infrastruktury jest tak długo, jak can-- wszystkich 226 00:13:39,010 --> 00:13:42,170 konieczne jest operacyjne System Linux specjalnie. 227 00:13:42,170 --> 00:13:45,460 >> I można zainstalować Docker Silnik na górze, że i go działa 228 00:13:45,460 --> 00:13:48,970 i koordynuje w zasadzie wszystkie te app jeden, dwa, 229 00:13:48,970 --> 00:13:51,530 a trzy są rzeczywiste pojemniki. 230 00:13:51,530 --> 00:13:53,990 Więc to jest silnik. 231 00:13:53,990 --> 00:13:58,040 Jak wspomniałem wcześniej, ponieważ musisz wchodzić w interakcje z silnika, 232 00:13:58,040 --> 00:13:59,200 jest klient. 233 00:13:59,200 --> 00:14:03,180 >> Ale właściwie po zainstalowaniu Dokowane, IT statki z nim. 234 00:14:03,180 --> 00:14:06,110 Więc to zostanie zainstalowany, więc jest to jeden binarny. 235 00:14:06,110 --> 00:14:11,830 I można zrobić połączenia lokalne do Docker Engine. 236 00:14:11,830 --> 00:14:14,040 Lub zdalne połączenia do odległych silników. 237 00:14:14,040 --> 00:14:16,600 238 00:14:16,600 --> 00:14:19,590 To nie używa protokołu HTTP, jak Wspomniałem wcześniej. 239 00:14:19,590 --> 00:14:24,200 Tam klient GUI o nazwie Kitematic z Docker. 240 00:14:24,200 --> 00:14:26,390 I na pewno są dużo innych ludzi 241 00:14:26,390 --> 00:14:29,740 którzy budują dużo GUI, że w zasadzie wdrożenia 242 00:14:29,740 --> 00:14:32,980 niektóre HTTP wymaga, aby porozmawiać z silnika. 243 00:14:32,980 --> 00:14:35,920 244 00:14:35,920 --> 00:14:39,280 >> To tylko kilka przykładowych komend. 245 00:14:39,280 --> 00:14:44,620 Jeśli robisz wersję Docker, że będzie pokazać wersję klienta, jak również 246 00:14:44,620 --> 00:14:47,030 wersja serwera. 247 00:14:47,030 --> 00:14:49,500 Jeśli zrobisz informacji Docker to będzie powiem Ci wszystkie informacje 248 00:14:49,500 --> 00:14:54,300 o ile kontenery są uruchomione lub utworzone, ile zdjęć trzeba, 249 00:14:54,300 --> 00:14:56,530 i tak dalej, i tak dalej. 250 00:14:56,530 --> 00:15:01,850 >> Tutaj mam, w obok ostatnie pole, muszę biegać do lekarza. 251 00:15:01,850 --> 00:15:04,970 Tak to jest jak jestem w rzeczywistości utworzenie pojemnika. 252 00:15:04,970 --> 00:15:08,960 I daję ją do echo Hello World i spać do drugiego i etażerka. 253 00:15:08,960 --> 00:15:12,830 I można zobaczyć wynik. Więc to jest w toku. 254 00:15:12,830 --> 00:15:16,930 I podobnie jak Linux ps można zobaczyć wszystkie procesy i, w tym przypadku, 255 00:15:16,930 --> 00:15:18,540 wszystkie pojemniki do biegania. 256 00:15:18,540 --> 00:15:23,430 Ta jest nawiązując do pojemnik po prostu stworzył. 257 00:15:23,430 --> 00:15:27,560 >> Tak, to jest bardzo ważne, ponieważ, tak, to może być nieco mylące. 258 00:15:27,560 --> 00:15:33,050 Tak więc zdjęcia są tylko do odczytu, zbiór plików, prawda? 259 00:15:33,050 --> 00:15:37,000 Są to co nasz pojemnik jest oparty. 260 00:15:37,000 --> 00:15:40,340 Ale są tylko do odczytu. 261 00:15:40,340 --> 00:15:44,330 Więc zacząć od obrazu bazowego. 262 00:15:44,330 --> 00:15:50,180 Ma tendencję do naśladowania OS-jak, więc Ubuntu, CentOS, baza etażerka obrazu. 263 00:15:50,180 --> 00:15:53,990 A następnie rozpocząć budowę na górze że pewne warstwy, które tworzą 264 00:15:53,990 --> 00:16:00,010 Obraz twój koniec, koniec prowadzić tutaj. 265 00:16:00,010 --> 00:16:03,220 >> A każda z tych warstw powinien mieć obraz rodzica 266 00:16:03,220 --> 00:16:06,690 że odwołuje, kiedy go rzeczywiście chce stworzyć. 267 00:16:06,690 --> 00:16:09,922 Że są niezmienne w sensie że ponieważ są one tylko do odczytu, 268 00:16:09,922 --> 00:16:11,630 nie można właściwie wprowadzić zmiany do nich. 269 00:16:11,630 --> 00:16:17,540 Można ich używać do stworzenia Pojemnik z obrazu, który 270 00:16:17,540 --> 00:16:23,530 wezwie wszystkie późniejsze Wymagane zdjęcia pod nią. 271 00:16:23,530 --> 00:16:26,400 >> Możesz dokonać zmian do innej warstwy, 272 00:16:26,400 --> 00:16:28,810 jest to warstwa przepisać będę rozmawiać na sekundę. 273 00:16:28,810 --> 00:16:31,350 Jednak każda z tych warstw nigdy nie są zmieniane. 274 00:16:31,350 --> 00:16:34,300 275 00:16:34,300 --> 00:16:38,670 Zasadniczo obrazy użyć czegoś zwana Unia System, UFS File. 276 00:16:38,670 --> 00:16:42,280 I tam są różne przechowywania backendy, które wykorzystują tę technologię. 277 00:16:42,280 --> 00:16:49,430 A co to znaczy, że to łączy różne systemy plików 278 00:16:49,430 --> 00:16:51,190 aby wyglądały jak jeden. 279 00:16:51,190 --> 00:16:54,460 >> Więc można właściwie od perspektywa aplikacji 280 00:16:54,460 --> 00:16:59,570 masz szczyt widokiem, który pokazuje wszystkie innego systemu plików potrzebne 281 00:16:59,570 --> 00:17:01,120 za to na uruchomienie aplikacji. 282 00:17:01,120 --> 00:17:04,400 Ale one są w rzeczywistości, o tym, są rzeczywiście w różnych miejscach 283 00:17:04,400 --> 00:17:06,410 i jest wykorzystywana przez inne pojemniki, jak również. 284 00:17:06,410 --> 00:17:09,569 285 00:17:09,569 --> 00:17:14,410 >> Więc jak widać tutaj, że jeśli zaczniemy z demona obrazu 286 00:17:14,410 --> 00:17:18,619 jako obraz bazowej, a następnie idziemy się i dodaj [? emacs?] 287 00:17:18,619 --> 00:17:20,720 a potem to już inna warstwa. 288 00:17:20,720 --> 00:17:21,916 A następnie dodać Apache. 289 00:17:21,916 --> 00:17:22,790 To kolejna warstwa. 290 00:17:22,790 --> 00:17:25,470 A potem spędzamy Pojemnik z tego. 291 00:17:25,470 --> 00:17:29,760 Każdy z tych obrazów każda z tych warstw 292 00:17:29,760 --> 00:17:35,530 jest różna i może być użyte w innych pojemnikach. 293 00:17:35,530 --> 00:17:40,070 >> Jeśli spojrzeć na samych pojemnikach, są one w jakiś sposób podobny jak VM, 294 00:17:40,070 --> 00:17:41,930 ale nie traktowane w ten sam czas. 295 00:17:41,930 --> 00:17:49,180 Tak, oni nie mają, Technicznie, pełny system operacyjny pod nimi. 296 00:17:49,180 --> 00:17:52,630 Używają jednego jądra systemu operacyjnego hosta. 297 00:17:52,630 --> 00:17:54,440 A oni budować na początku tego. 298 00:17:54,440 --> 00:17:56,250 Naśladować ich w jak wyglądają. 299 00:17:56,250 --> 00:18:00,710 Naśladują one swój plik główny układ od systemu operacyjnego. 300 00:18:00,710 --> 00:18:04,930 Ale faktycznie nie są replikowane. 301 00:18:04,930 --> 00:18:12,080 >> Tak więc, zamiast warstwy niezmienne, ostatnią warstwę, która jest pojemnikiem 302 00:18:12,080 --> 00:18:14,690 Sam, to warstwa do odczytu i zapisu. 303 00:18:14,690 --> 00:18:17,350 To prowadzi również procesy od aplikacji. 304 00:18:17,350 --> 00:18:23,530 A to zależy od warstw. 305 00:18:23,530 --> 00:18:26,730 Każdy pojemnik jest utworzona z obrazu. 306 00:18:26,730 --> 00:18:32,450 A, że obraz może być pojedynczym warstwa lub wielowarstwowy obraz. 307 00:18:32,450 --> 00:18:37,200 >> I chcę, aby pamiętać tutaj które w dużym stopniu wykorzystuje Docker, 308 00:18:37,200 --> 00:18:40,370 lub oparta jest na mechanizmie Copy-on-write. 309 00:18:40,370 --> 00:18:44,350 Tak, że, rzeczywiście, jeśli nie są dokonywania zmian w pojemniku 310 00:18:44,350 --> 00:18:45,930 nie zajmie więcej przestrzeni. 311 00:18:45,930 --> 00:18:49,600 Tak, że w zasadzie, jak ci Podsumowując copy-on-write. 312 00:18:49,600 --> 00:18:53,820 To będzie z pewnością przyspieszy czas rozruchu do pojemnika. 313 00:18:53,820 --> 00:18:56,300 Bo jeśli nie robisz Zmiany w pojemniku 314 00:18:56,300 --> 00:18:57,800 to wykorzystanie tego, co już tam jest. 315 00:18:57,800 --> 00:19:01,130 316 00:19:01,130 --> 00:19:02,955 >> Tak, jak to rzeczywiście działa. 317 00:19:02,955 --> 00:19:06,920 318 00:19:06,920 --> 00:19:14,240 Część jak i teraz, to wykorzystuje co najmniej dwa główne jądro 319 00:19:14,240 --> 00:19:14,820 cechy. 320 00:19:14,820 --> 00:19:17,660 I to jest w zasadzie to, co stworzył ten poziom izolacji 321 00:19:17,660 --> 00:19:19,550 w samych opakowaniach. 322 00:19:19,550 --> 00:19:22,290 Cechy te są przestrzenie nazw i cgroups. 323 00:19:22,290 --> 00:19:29,870 Więc przestrzenie nazw są sposobem tworzenie pojedynczych zasobów, 324 00:19:29,870 --> 00:19:36,290 tak, że w kontenerze, tylko widać pewnych zasobów. 325 00:19:36,290 --> 00:19:40,030 Takich jak interfejsu sieciowego lub na konkretnych użytkowników lub cokolwiek. 326 00:19:40,030 --> 00:19:44,160 >> A ci są widoczne tylko i wyłącznie dostępny w opakowaniu. 327 00:19:44,160 --> 00:19:48,290 Cgroup na innych granicach bocznych sposobu korzystania z tych zasobów. 328 00:19:48,290 --> 00:19:50,950 Procesora, pamięci i dysku. 329 00:19:50,950 --> 00:19:53,900 Kiedy można iść, ja oznaczają te są rzeczywiście 330 00:19:53,900 --> 00:19:57,410 funkcje, które zostały opracowane by-- są one częścią jądra Linuksa. 331 00:19:57,410 --> 00:20:01,800 Tak więc nie były one na nowo przez lub odtworzone przez Docker. 332 00:20:01,800 --> 00:20:03,770 Docker ich używa. 333 00:20:03,770 --> 00:20:05,560 >> Co Doktor naprawdę tutaj jest rzeczywiście 334 00:20:05,560 --> 00:20:08,680 Orchestrated tworzenie przestrzenie nazw dla każdego pojemnika 335 00:20:08,680 --> 00:20:13,320 i tworzenia cgroups tak, że jest to śmiesznie łatwe tworzenie pojemników 336 00:20:13,320 --> 00:20:14,870 korzystania z tych możliwości. 337 00:20:14,870 --> 00:20:22,910 Oczywiście, jak to opisano wcześniej, Unia Systemy plików i kopiowania przy Napisz naprawdę 338 00:20:22,910 --> 00:20:26,810 pomóc szybkość i dysk Wykorzystanie pojemnika. 339 00:20:26,810 --> 00:20:28,917 >> A Po uzyskaniu ręce wokół DOCKER, 340 00:20:28,917 --> 00:20:32,000 masz zamiar zobaczyć jak szybko jest to, aby faktycznie obracają się pojemniki i łzy 341 00:20:32,000 --> 00:20:32,500 je w dół. 342 00:20:32,500 --> 00:20:36,060 343 00:20:36,060 --> 00:20:40,230 Tak więc, jeśli można zapytać, w jaki sposób faktycznie budowania obrazów? 344 00:20:40,230 --> 00:20:45,940 Budować obrazów w procesie tworzenia pojemniki i wprowadzanie zmian, zmienianie 345 00:20:45,940 --> 00:20:50,220 im i ich popełnienia w coraz obraz. 346 00:20:50,220 --> 00:20:54,330 >> Więc jest to kurczak i odniesienia tutaj jajko, 347 00:20:54,330 --> 00:20:57,350 ponieważ wszystkie pojemniki nie od zdjęcia i obrazy pochodzą 348 00:20:57,350 --> 00:21:00,270 z popełnionych pojemnikach, przez większą część. 349 00:21:00,270 --> 00:21:03,830 Dostępne są trzy opcje do tworzenia obrazów. 350 00:21:03,830 --> 00:21:06,580 Mam zamiar opisać pierwszy i ostatni. 351 00:21:06,580 --> 00:21:10,060 Można ręcznie go i uruchom pojemnik 352 00:21:10,060 --> 00:21:14,280 i wprowadzić te zmiany, jak można zrobić na każdej maszynie wirtualnej 353 00:21:14,280 --> 00:21:17,060 lub innym systemem operacyjnym, takim jak instalacja nowych plików binarnych, 354 00:21:17,060 --> 00:21:19,370 dodanie systemów plików i etażerka. 355 00:21:19,370 --> 00:21:22,620 >> A potem wyjść, jak widać tam. 356 00:21:22,620 --> 00:21:24,330 Jestem wyjściu mój pojemnik. 357 00:21:24,330 --> 00:21:26,050 A potem robię Docker popełnić. 358 00:21:26,050 --> 00:21:28,390 A ja popełnienia tego. 359 00:21:28,390 --> 00:21:31,560 Widać, że numer tutaj jest tylko UUID, lub pierwsze 12 360 00:21:31,560 --> 00:21:32,810 bity UUID. 361 00:21:32,810 --> 00:21:34,320 Lub bajtów UUID. 362 00:21:34,320 --> 00:21:35,770 A potem dzwonię to mój obraz. 363 00:21:35,770 --> 00:21:39,510 Więc teraz Docker zajmuje nagrywanie wszystko to zrobiłem 364 00:21:39,510 --> 00:21:42,830 i tworzenie nowych Obraz oparty na tym. 365 00:21:42,830 --> 00:21:47,080 366 00:21:47,080 --> 00:21:52,560 >> Nie będę mówić o archiwum, ale istnieje sposób, można dostać jeden, 367 00:21:52,560 --> 00:21:58,200 stworzenia jednej, lub złożyć jeden Obraz warstwy za pomocą archiwów. 368 00:21:58,200 --> 00:22:02,650 Co zamierzam o tym mówić i to, co najczęściej stosowane dziś, 369 00:22:02,650 --> 00:22:03,270 jest Dockerfile. 370 00:22:03,270 --> 00:22:07,260 Co jest technicznie pierwszy krok zautomatyzowany przez samego DOCKER. 371 00:22:07,260 --> 00:22:11,920 Więc Dockerfiles są rzeczy, że jesteś zobaczymy w wielu repo GitHub 372 00:22:11,920 --> 00:22:13,150 dzisiaj. 373 00:22:13,150 --> 00:22:16,420 Jest to w zasadzie tylko plik tekstowy opisujący 374 00:22:16,420 --> 00:22:19,780 dokładnie, jak budować wizerunek. 375 00:22:19,780 --> 00:22:25,540 >> A dla każdej linii, to faktycznie tworzy pojemnik, wykonuje tę linię, 376 00:22:25,540 --> 00:22:30,480 zobowiązuje się, że pojemnik na Nowy wizerunek, i, w zasadzie, 377 00:22:30,480 --> 00:22:36,160 używać go do wszystkich kolejnych operacji aż dojdziesz do ostatniego obrazu. 378 00:22:36,160 --> 00:22:39,260 Która jest w zasadzie zakończyć cel tutaj, do końca. 379 00:22:39,260 --> 00:22:42,420 I po exec-- po ciebie Napisać swoją Dockerfile, które 380 00:22:42,420 --> 00:22:46,750 jest czysto w tekście, można zrobić DOCKER budowę oraz nazwę obrazu. 381 00:22:46,750 --> 00:22:50,000 >> I wskazują na to, że jest gdzie Dockerfile jest. 382 00:22:50,000 --> 00:22:56,570 I można oczekiwać, aby zobaczyć moje zdjęcie jako obraz, który masz na miejscu. 383 00:22:56,570 --> 00:22:59,100 Więc to tylko wizualne przykładem tego, co się dzieje. 384 00:22:59,100 --> 00:23:00,820 Zaczynasz z obrazu bazowego. 385 00:23:00,820 --> 00:23:05,150 Uruchomić, że do pojemnika, który nie zmienia samego obrazu bazowego. 386 00:23:05,150 --> 00:23:08,310 Ale zamiast tego tworzy przepisać warstwę na wierzchu 387 00:23:08,310 --> 00:23:10,340 gdzie można dokonać zmian, w którym zobowiązują 388 00:23:10,340 --> 00:23:15,050 i powtórzyć proces, aż Ci dotrzeć do ostatecznego obrazu. 389 00:23:15,050 --> 00:23:20,980 >> I w ten sposób, każdy inny build proces może korzystać z tych samych warstw 390 00:23:20,980 --> 00:23:23,870 i same-- zasadzie Docker buforuje te warstwy. 391 00:23:23,870 --> 00:23:30,040 Tak, że jeśli robię dokładnie taki sam Proces, ale zamiast instalacji PHP, 392 00:23:30,040 --> 00:23:31,540 Jestem instalacji Pythona. 393 00:23:31,540 --> 00:23:34,210 To będzie używać Apache i Ubuntu. 394 00:23:34,210 --> 00:23:39,570 Więc ten sposób jesteś wykorzystując swój dysk. 395 00:23:39,570 --> 00:23:42,330 To wykorzystanie pamięci podręcznej i dostępne zdjęcia tam. 396 00:23:42,330 --> 00:23:45,320 397 00:23:45,320 --> 00:23:48,840 >> Ostatnim z elementów jest ewidencja, które to w jaki sposób rozpowszechniać swoje zdjęcia. 398 00:23:48,840 --> 00:23:52,710 I, jak już wspomniałem, istnieje wersja Chmura nim, 399 00:23:52,710 --> 00:23:54,290 co jest Docker Hub. 400 00:23:54,290 --> 00:23:57,550 Możesz iść i zbadać wiele zasadniczo 401 00:23:57,550 --> 00:24:04,900 jest to publiczna produktów SAS, które można jeszcze prywatnych zdjęć, 402 00:24:04,900 --> 00:24:06,590 ale jest wiele zdjęć publicznych. 403 00:24:06,590 --> 00:24:10,580 To właściwie nieograniczona, można pchania nieograniczone obrazów publicznych istnieje. 404 00:24:10,580 --> 00:24:13,730 I to jest, jak to tylko możliwe współpracę z zespołem. 405 00:24:13,730 --> 00:24:17,159 >> Możesz po prostu skieruj je na ciebie repo i mogą go lub obraz pobrać 406 00:24:17,159 --> 00:24:18,200 i można go pobrać. 407 00:24:18,200 --> 00:24:21,140 408 00:24:21,140 --> 00:24:24,990 Tyle z rozmowy. 409 00:24:24,990 --> 00:24:29,110 Kto chce zobaczyć demo bardzo szybko? 410 00:24:29,110 --> 00:24:31,330 W porządku. 411 00:24:31,330 --> 00:24:34,050 Więc tutaj mam. 412 00:24:34,050 --> 00:24:37,480 Ca wy zobaczyć mój ekran? 413 00:24:37,480 --> 00:24:38,390 W porządku. 414 00:24:38,390 --> 00:24:45,810 >> Więc mam Docker działa tutaj, więc można sprawdzić it's-- To jest wersja 415 00:24:45,810 --> 00:24:47,510 z Docker, że to działa. 416 00:24:47,510 --> 00:24:49,320 Może zrobić informacji Docker. 417 00:24:49,320 --> 00:24:55,730 Sprawdź wszystkie informacje o tym, jak wiele zdjęcia mają, i tak dalej i tak dalej. 418 00:24:55,730 --> 00:24:58,890 Docker PS, nic nie działa. 419 00:24:58,890 --> 00:25:00,570 Łączone tych. 420 00:25:00,570 --> 00:25:06,370 >> Tak więc pierwszą rzeczą, którą chcesz zrobić, to pokaż Ci, jak łatwo można uruchomić pojemnik. 421 00:25:06,370 --> 00:25:09,350 Więc Piękno Prowadzony przez lekarza, jeśli to rzeczywiście 422 00:25:09,350 --> 00:25:14,700 nie znajduje obrazu lokalnie, domyślnie mówi do doktora Hub 423 00:25:14,700 --> 00:25:17,240 i stara się go tam znaleźć i pliki do pobrania dla ciebie. 424 00:25:17,240 --> 00:25:22,820 Więc to obejmuje DOCKER wyciągnąć polecenia, naturalnie. 425 00:25:22,820 --> 00:25:26,130 >> Więc jeśli mogę zrobić run Docker, cześć-świat. 426 00:25:26,130 --> 00:25:28,890 427 00:25:28,890 --> 00:25:31,200 Więc, po pierwsze, że będzie starać się go zlokalizować. 428 00:25:31,200 --> 00:25:36,140 W przeciwnym razie, jak widać tutaj, nie mógł znaleźć go lokalnie. 429 00:25:36,140 --> 00:25:41,830 Teraz po prostu wyciągnął dwie warstwy że się, że obraz i prowadził ją. 430 00:25:41,830 --> 00:25:45,440 Hello-świat jest po prostu w zasadzie wyjścia, co masz zrobić. 431 00:25:45,440 --> 00:25:47,680 Więc jest to najprostszy, jeden z najłatwiejszych przykłady. 432 00:25:47,680 --> 00:25:53,840 Tak właściwie, tylko pobiegł i zakończone pojemnik bardzo szybko. 433 00:25:53,840 --> 00:25:59,500 >> Jeśli chcę run-- a przy okazji, jeśli Chcę czasie, tak wiesz, 434 00:25:59,500 --> 00:26:03,572 to jak długo trwa faktycznie obracają się i zawierają go. 435 00:26:03,572 --> 00:26:05,030 Jesteśmy mierzenia go w milisekundach. 436 00:26:05,030 --> 00:26:10,600 Więc widać, jak bardzo może to rzeczywiście pomóc nie tylko w badaniach, 437 00:26:10,600 --> 00:26:13,200 ale także nawet rozmieszczenie. 438 00:26:13,200 --> 00:26:17,221 Więc to krótka notatka na ten temat. 439 00:26:17,221 --> 00:26:18,970 Następną rzeczą, że jestem zamiar zrobić, to rzeczywiście 440 00:26:18,970 --> 00:26:21,930 uruchomić obraz Ja już przygotowane. 441 00:26:21,930 --> 00:26:24,460 Więc dokowanym bieg. 442 00:26:24,460 --> 00:26:27,240 -d tylko flagi powiedzieć go uruchomić w tle. 443 00:26:27,240 --> 00:26:30,290 A p przypisuje określone porty. 444 00:26:30,290 --> 00:26:32,670 Ponieważ domyślnie Kontenery są izolowane, 445 00:26:32,670 --> 00:26:36,080 więc trzeba dokładnie określić, jak może do nich dostęp. 446 00:26:36,080 --> 00:26:41,150 I w tym przypadku, mówię DOCKER mapować losowy port na hoście 447 00:26:41,150 --> 00:26:44,560 do określonego portu w sam pojemnik. 448 00:26:44,560 --> 00:26:47,130 449 00:26:47,130 --> 00:26:56,460 I to w zasadzie gdzie image-- mam nadzieję, że to jest właściwy. 450 00:26:56,460 --> 00:27:01,780 >> Więc to nie równoległe pobieranie każdy z tych warstw, jak można zobaczyć tutaj. 451 00:27:01,780 --> 00:27:06,949 Są wśród warstwy co obraz końcowy, który zbudowałem. 452 00:27:06,949 --> 00:27:08,115 To zajmie chwilę. 453 00:27:08,115 --> 00:27:11,290 454 00:27:11,290 --> 00:27:12,370 I voila. 455 00:27:12,370 --> 00:27:16,590 >> Więc teraz, jeśli zrobię ps DOCKER, że powinienem zobaczyć coś, co jest uruchomiony. 456 00:27:16,590 --> 00:27:22,250 Należy sprawdzić ID, obraz że został on oparty off, 457 00:27:22,250 --> 00:27:23,880 i polecenie, które zostało wykonane. 458 00:27:23,880 --> 00:27:28,720 A jak uzyskać dostęp to po prostu udać się do tego portu. 459 00:27:28,720 --> 00:27:33,240 Więc mam zamiar iść to-- to jest Używam go na AWS. 460 00:27:33,240 --> 00:27:37,150 Mam zamiar iść do 32769. 461 00:27:37,150 --> 00:27:37,650 Ups. 462 00:27:37,650 --> 00:27:40,495 463 00:27:40,495 --> 00:27:41,120 I jedziemy. 464 00:27:41,120 --> 00:27:44,550 >> Tak więc jest to rzeczywiście tylko usługa internetowa, która pokazuje 465 00:27:44,550 --> 00:27:46,240 których pojemnik to serwowane z. 466 00:27:46,240 --> 00:27:50,450 Tak więc widać, że to jest z pojemnika a9f. 467 00:27:50,450 --> 00:27:52,850 I tu jest to Nazwa kontenera. 468 00:27:52,850 --> 00:27:56,550 Więc chłopaki widzą jak szybko było w rzeczywistości nie tylko ciągnąć, ale także 469 00:27:56,550 --> 00:28:00,440 wdrożyć opakowanie. 470 00:28:00,440 --> 00:28:05,070 >> Teraz następnym krokiem jest zajrzeć do Dockerfiles 471 00:28:05,070 --> 00:28:09,430 i jak możemy rzeczywiście budować nowe obrazy. 472 00:28:09,430 --> 00:28:15,250 Idę tylko przejść się klon, A skosztować Dockerfile na podstawie wcześniej 473 00:28:15,250 --> 00:28:17,755 Schemat, jeden z Apache i PHP. 474 00:28:17,755 --> 00:28:26,740 475 00:28:26,740 --> 00:28:28,140 Mam nadzieję, że pamiętam mojego repo. 476 00:28:28,140 --> 00:28:36,410 477 00:28:36,410 --> 00:28:38,750 >> Więc mam repozytorium teraz. 478 00:28:38,750 --> 00:28:43,080 I masz zamiar zobaczyć to dużo naprawdę. 479 00:28:43,080 --> 00:28:45,110 Nie zainstalować drzewo. 480 00:28:45,110 --> 00:28:48,700 >> Więc w zasadzie masz zamiar zobaczyć, jak dokumentacja kod źródłowy wokół 481 00:28:48,700 --> 00:28:51,240 go, a potem na Dockerfile Jak faktycznie umieszczanie go. 482 00:28:51,240 --> 00:28:57,970 Więc to tylko próbka PHP która odzwierciedla powitania CS50. 483 00:28:57,970 --> 00:29:01,550 >> Więc jeśli chcę, aby go uruchomić, Zrobię DOCKER budować. 484 00:29:01,550 --> 00:29:03,370 Muszę zbudować go w pierwszej kolejności. 485 00:29:03,370 --> 00:29:12,420 Mam zamiar wymienić go demo_cs50. 486 00:29:12,420 --> 00:29:16,470 I trzeba do niej znacznik zbyt. 487 00:29:16,470 --> 00:29:19,802 Więc nazwijmy V1 jest kropka. 488 00:29:19,802 --> 00:29:21,760 Tak jak już wspomniano wcześniej, co robię dziś 489 00:29:21,760 --> 00:29:26,840 jest Mówię DOCKER iść korzystania that-- rzeczywiście, przepraszam, mój błąd. 490 00:29:26,840 --> 00:29:29,450 491 00:29:29,450 --> 00:29:32,500 Nie spojrzeć w tym samym Dockerfile. 492 00:29:32,500 --> 00:29:39,020 Więc tylko rzeczy w tutaj index.php jak również readme 493 00:29:39,020 --> 00:29:39,810 i Dockerfile. 494 00:29:39,810 --> 00:29:44,600 >> Więc jeśli spojrzeć na Dockerfile, więc 495 00:29:44,600 --> 00:29:47,150 bardzo podobny do tego, Opisałem wcześniej. 496 00:29:47,150 --> 00:29:51,220 To tylko kilka kroki, które Docker wykonuje operację 497 00:29:51,220 --> 00:29:56,330 poprzez tworzenie i burząc pojemników i [? liczy?] je do obrazka. 498 00:29:56,330 --> 00:29:59,570 >> I w zasadzie można see-- [niesłyszalne] to here-- 499 00:29:59,570 --> 00:30:04,340 ale jest to z lokalnego repo. 500 00:30:04,340 --> 00:30:06,410 To będzie iść i grab index.php. 501 00:30:06,410 --> 00:30:10,970 Więc to jest kod Jedynym źródłem, które są w rzeczywistości częścią aplikacji. 502 00:30:10,970 --> 00:30:16,800 Wszystko to są w zasadzie instalacyjnych systemu operacyjnego, 503 00:30:16,800 --> 00:30:21,460 uzyskanie prawa pakiety i Apache i PHP i etażerka. 504 00:30:21,460 --> 00:30:26,950 Ale to jest rzeczywiście biorąc index.php i zobowiązując go do pojemnika, 505 00:30:26,950 --> 00:30:28,210 na obrazie. 506 00:30:28,210 --> 00:30:33,120 >> Więc jeśli iść dalej i uruchomić polecenia w następujący sposób, 507 00:30:33,120 --> 00:30:36,155 to going-- rzeczywistości, może to zająć trochę. 508 00:30:36,155 --> 00:30:40,870 509 00:30:40,870 --> 00:30:42,455 Mam nadzieję, że to nie potrwa zbyt długo. 510 00:30:42,455 --> 00:30:45,129 511 00:30:45,129 --> 00:30:46,170 Więc widać etapy. 512 00:30:46,170 --> 00:30:49,320 I zachęcam, aby przejść z powrotem do domu dziś i spróbuj. 513 00:30:49,320 --> 00:30:51,280 A Mano opisze jak dokładnie to zrobić. 514 00:30:51,280 --> 00:30:57,810 Ale to jest naprawdę wielki, aby zobaczyć dokładnie co się dzieje za kulisami. 515 00:30:57,810 --> 00:31:02,420 Ale to śmiesznie proste w budowie obrazy i wdrażać je przy użyciu DOCKER. 516 00:31:02,420 --> 00:31:12,170 517 00:31:12,170 --> 00:31:14,050 >> To zabiera trochę dłużej, niż się spodziewałem. 518 00:31:14,050 --> 00:31:29,085 519 00:31:29,085 --> 00:31:32,690 >> Zobaczmy, co się dzieje, gdy you-- ostygnięcia. 520 00:31:32,690 --> 00:31:36,260 Więc jak widać, każdy z tych kroków stanowią linie w Dockerfile. 521 00:31:36,260 --> 00:31:42,570 I to widać tutaj, że to udało się stworzyć to zdjęcie. 522 00:31:42,570 --> 00:31:46,480 >> Więc jeśli robię zdjęcia DOCKER, zamierzam zobacz wszystkie obrazy, które mam na miejscu. 523 00:31:46,480 --> 00:31:52,160 I jeden z nich nazywa się mój nazwę użytkownika i nazwę obrazu, 524 00:31:52,160 --> 00:31:56,050 i representing-- tag przede wszystkim jest to tag wersji. 525 00:31:56,050 --> 00:31:58,040 >> Więc teraz, jeśli chcę uruchomić Opisz zrobić bieg DOCKER. 526 00:31:58,040 --> 00:32:06,040 527 00:32:06,040 --> 00:32:14,960 A ja po prostu chcę zrobić -d -P. Czy v1. 528 00:32:14,960 --> 00:32:18,500 Więc widzę, że teraz mam dwa pojemniki pracuje, ten, który po prostu 529 00:32:18,500 --> 00:32:21,230 stworzył i komentarzy Robotnik, który dostałem w zeszłym. 530 00:32:21,230 --> 00:32:24,320 >> I tu widać, że to przypisany jest inny port. 531 00:32:24,320 --> 00:32:30,710 Więc jeśli pójdę do tego samego adresu IP, ale przypisać go inny port-- miejmy nadzieję, że nie. 532 00:32:30,710 --> 00:32:33,060 Więc teraz jest to aplikacja że właśnie wdrażane. 533 00:32:33,060 --> 00:32:35,980 534 00:32:35,980 --> 00:32:43,900 >> Jeśli chcę, aby dokonać zmian, ja można szybko edytować kod źródłowy 535 00:32:43,900 --> 00:32:49,050 i wykonaj następujące czynności. 536 00:32:49,050 --> 00:32:55,170 Zróbmy cześć Harvard. 537 00:32:55,170 --> 00:32:57,989 Więc teraz, co się dzieje się zdarzyć, że jestem 538 00:32:57,989 --> 00:32:59,905 będzie oznaczać go z inna version-- oh, 539 00:32:59,905 --> 00:33:03,080 nie tym guy-- go oznakować w innej wersji. 540 00:33:03,080 --> 00:33:05,735 I masz zamiar see-- zrobić wy spodziewać 541 00:33:05,735 --> 00:33:11,020 to, aby mieć taką samą ilość czasu zbudować go po raz drugi, czy nie? 542 00:33:11,020 --> 00:33:14,470 Wszystko w porządku, a ktoś wie dlaczego? 543 00:33:14,470 --> 00:33:15,020 Mów głośniej. 544 00:33:15,020 --> 00:33:16,350 >> PUBLICZNOŚCI: [niesłyszalne] 545 00:33:16,350 --> 00:33:19,830 >> NICOLA Kabar: Jest to w zasadzie mamy tylko zmienić jeden z późniejszych etapach. 546 00:33:19,830 --> 00:33:23,110 I w związku z tym, że będzie korzystać z cache i użyć każdej z tych warstw. 547 00:33:23,110 --> 00:33:27,080 I to naprawdę jedne z Cechy zabójcą DOCKER 548 00:33:27,080 --> 00:33:32,930 Jak to właściwie wykorzystuje i sposoby ponownego przejęcia 549 00:33:32,930 --> 00:33:36,950 dysk do tego samego Dokładne części informacji. 550 00:33:36,950 --> 00:33:40,700 >> Więc jeśli robimy to samo, zajęło tylko kilka sekund. 551 00:33:40,700 --> 00:33:48,860 Jeśli chcemy redeploy-- więc teraz Powinienem mieć trzy kontenery. 552 00:33:48,860 --> 00:33:56,160 Ale to jest bycie serwowane na the-- siedem jeden. 553 00:33:56,160 --> 00:33:58,860 Więc teraz jest trzeci pojemnik. 554 00:33:58,860 --> 00:34:02,580 Wszyscy rozumieją co właśnie zrobiliśmy tutaj? 555 00:34:02,580 --> 00:34:06,320 >> Więc teraz, jeśli chcesz podzielić się tym Pojemnik bardzo szybko ze swoimi przyjaciółmi, 556 00:34:06,320 --> 00:34:14,840 można po prostu zrobić Robotnik nacisnąć nazwa pojemnika, miejmy nadzieję. 557 00:34:14,840 --> 00:34:20,130 Więc teraz to będzie go przesunąć to-- nie jestem zalogowany tutaj. 558 00:34:20,130 --> 00:34:33,511 559 00:34:33,511 --> 00:34:34,219 Przepraszam za to. 560 00:34:34,219 --> 00:34:39,219 Ale nie mam zamiaru rozwiązywać to teraz. 561 00:34:39,219 --> 00:34:42,780 Ale w zasadzie, że jedno polecenie jest po prostu będzie się przesunąć. 562 00:34:42,780 --> 00:34:45,670 I masz zamiar być w stanie to widzę, jeśli przejdziesz do Docker Hub 563 00:34:45,670 --> 00:34:48,587 I zalogowaniu się, będziesz będzie w stanie go zobaczyć. 564 00:34:48,587 --> 00:34:50,420 I wtedy można po prostu wskazać kto będzie 565 00:34:50,420 --> 00:34:52,750 do korzystania z tego obrazu, aby przejść i wyciągnij go. 566 00:34:52,750 --> 00:34:55,460 I mogą z niego korzystać. 567 00:34:55,460 --> 00:34:57,760 >> Z tym, mam nadzieję, I niby wykazać 568 00:34:57,760 --> 00:35:01,230 jak łatwo jest pracować z Docker. 569 00:35:01,230 --> 00:35:06,610 A ja po prostu się oddać Mano. 570 00:35:06,610 --> 00:35:11,760 I ma zamiar zabrać go stąd. 571 00:35:11,760 --> 00:35:13,990 >> MANO ZNAKI: Dobra dzięki, dzięki Nico. 572 00:35:13,990 --> 00:35:18,700 573 00:35:18,700 --> 00:35:20,614 I co? 574 00:35:20,614 --> 00:35:24,410 Tak więc jedną z rzeczy, chciałem zrobić, to umieścić razem 575 00:35:24,410 --> 00:35:28,820 Dlatego jest to important-- dlaczego Docker i dlaczego 576 00:35:28,820 --> 00:35:33,000 Pojemniki są takie ważne, nowy rozwój, 577 00:35:33,000 --> 00:35:36,890 nowy sposób rzeczywiście robi oprogramowanie. 578 00:35:36,890 --> 00:35:41,300 >> A zanim to zrobię, będę wystarczy wprowadzić kilka statystyk. 579 00:35:41,300 --> 00:35:42,790 Nie zamierzam czytać wszystkie z nich. 580 00:35:42,790 --> 00:35:52,540 Ale to pokazuje wiele o tym, jak popularne jest to w społeczności. 581 00:35:52,540 --> 00:35:56,310 Rdzeń technologii dokowane open source. 582 00:35:56,310 --> 00:36:03,560 Więc to Docker Silnik, komponować, Rój, kilka innych rzeczy 583 00:36:03,560 --> 00:36:05,210 jest open source. 584 00:36:05,210 --> 00:36:10,590 I mamy to, co ja powiedzieć, 1300 współpracowników. 585 00:36:10,590 --> 00:36:15,630 Widzicie teraz, jeśli spojrzeć na liczba ofert pracy, po raz ostatni 586 00:36:15,630 --> 00:36:19,640 przyjrzeliśmy, to było około 43.000 miejsc pracy otwory specjalnie wspomnieć 587 00:36:19,640 --> 00:36:22,230 znajomość DOCKER. 588 00:36:22,230 --> 00:36:26,450 Setki milionów zdjęć mają zostały pobrane z Docker Hub. 589 00:36:26,450 --> 00:36:31,870 I dobrze, o wiele więcej dużych statystyki. 590 00:36:31,870 --> 00:36:34,770 >> Dla tych, którzy są ciekawi, to w Pythonie został napisany 591 00:36:34,770 --> 00:36:37,730 a następnie przepisać do Go. 592 00:36:37,730 --> 00:36:40,320 A to było tylko otworzyć source-- to tylko 593 00:36:40,320 --> 00:36:44,950 została wydana przez około 2 i 1/2 lat, co oznacza, że ​​w 2 i 1/2 roku, 594 00:36:44,950 --> 00:36:48,020 widzieliśmy ogromną ilość wzrostu i wagi 595 00:36:48,020 --> 00:36:50,190 tego w społeczności. 596 00:36:50,190 --> 00:36:52,400 I tak chcę porozmawiać trochę o tym, dlaczego. 597 00:36:52,400 --> 00:36:54,940 598 00:36:54,940 --> 00:36:59,880 >> Więc po prostu przypomnieć niektóre z Kluczowe punkty Nico, Docker jest szybki. 599 00:36:59,880 --> 00:37:00,630 To jest przenośny. 600 00:37:00,630 --> 00:37:02,500 Jest powtarzalne. 601 00:37:02,500 --> 00:37:06,130 I ustawia standardowe środowisko. 602 00:37:06,130 --> 00:37:13,370 >> I what-- to moja słaba kresu monolity slide-- co 603 00:37:13,370 --> 00:37:17,990 to pomaga ludzie, których wiele z branży oprogramowania 604 00:37:17,990 --> 00:37:21,400 zacząłem robić w początku 2000, jest w ruchu 605 00:37:21,400 --> 00:37:24,200 z nich monolityczne pojedyncze aplikacje 606 00:37:24,200 --> 00:37:28,590 gdzie każdy zależność musiał być testowane przed cała aplikacja miał 607 00:37:28,590 --> 00:37:31,280 być rozmieszczone, które może oznaczać stronę internetową 608 00:37:31,280 --> 00:37:36,240 został wdrożony tylko raz co trzy miesiące, lub więcej, 609 00:37:36,240 --> 00:37:42,650 do znacznie większej służby architektury zorientowanej 610 00:37:42,650 --> 00:37:46,090 lub Modułowa inny rodzaj architektury aplikacji. 611 00:37:46,090 --> 00:37:48,610 I tak, dzięki czemu te rodzaj architektur 612 00:37:48,610 --> 00:37:52,250 że skorzystać z Robotnik do pracy w tych trzech 613 00:37:52,250 --> 00:37:58,450 Główne obszary rozwoju, które jest rozwój pisania rzeczywisty kod, 614 00:37:58,450 --> 00:38:00,140 testowanie kodu i wdrażania go. 615 00:38:00,140 --> 00:38:03,000 616 00:38:03,000 --> 00:38:05,420 >> Więc dlaczego jest to ważne? 617 00:38:05,420 --> 00:38:09,920 Jeśli jesteś A-- podam przykład. 618 00:38:09,920 --> 00:38:13,600 Jeśli są Państwo na stronie internetowej, deweloper urządzenie, jesteś 619 00:38:13,600 --> 00:38:19,020 tworzenie strony internetowej, która jest oparta na bazy danych, że David produkowane tutaj. 620 00:38:19,020 --> 00:38:20,490 Niestety David, Wołam cię. 621 00:38:20,490 --> 00:38:22,984 622 00:38:22,984 --> 00:38:24,900 Jeśli chciał wdrożyć cała sprawa, to że 623 00:38:24,900 --> 00:38:28,870 trzeba czekać pod tradycyjny monolityczne rozwoju oprogramowania 624 00:38:28,870 --> 00:38:32,710 środowiska, trzeba czekać aż w końcu zrobić z bazą danych 625 00:38:32,710 --> 00:38:36,030 zanim można rzeczywiście zrobić wszelkie zmiany swojej stronie. 626 00:38:36,030 --> 00:38:40,900 Trzeba się przesunięcie Cała aplikacja do tego. 627 00:38:40,900 --> 00:38:45,490 >> A co Docker pozwala zrobić, to każda osoba, praca na różnych komponentów 628 00:38:45,490 --> 00:38:52,990 i ich aktualizacji, jak idą, tylko co upewnić się, że interfejsy pozostają takie same. 629 00:38:52,990 --> 00:38:56,350 Więc to, co zrobiła jest to przesunięte ludzi 630 00:38:56,350 --> 00:39:03,950 od robienia tych masywnych monolityczne architected oprogramowanie 631 00:39:03,950 --> 00:39:07,610 rozmieszczone co miesiąc do ciągłego integracja i ciągły rozwój 632 00:39:07,610 --> 00:39:08,490 środowisko. 633 00:39:08,490 --> 00:39:12,580 >> Teraz to nie jest przypisany do Docker, ale Docker sprawia, że ​​o wiele łatwiej, 634 00:39:12,580 --> 00:39:16,620 co oznacza, że ​​jesteś w zasadzie stale wdrażania. 635 00:39:16,620 --> 00:39:20,690 Rozmawiamy z przedsiębiorstw, które są wdrażania aplikacji w obliczu publicznych 636 00:39:20,690 --> 00:39:30,180 tysiące razy dziennie, ponieważ widzą wartość w tylko co 637 00:39:30,180 --> 00:39:33,740 małe zmiany, i tak długo, ponieważ przebiega testów 638 00:39:33,740 --> 00:39:35,900 pozwalając mu iść do produkcji. 639 00:39:35,900 --> 00:39:41,890 Nico zawsze mi powiedzieć, wcześniej, że w wielu środowiskach, 640 00:39:41,890 --> 00:39:46,580 średnia cyklu życia Pojemnik jest mierzone w sekundach 641 00:39:46,580 --> 00:39:50,460 podczas gdy maszyna wirtualna może być mierzona w miesiącach. 642 00:39:50,460 --> 00:39:54,590 643 00:39:54,590 --> 00:39:58,690 >> Chciałem zabrać niewielki zwrócić tu, bo jestem 644 00:39:58,690 --> 00:40:00,170 w instytucji edukacyjnej. 645 00:40:00,170 --> 00:40:06,670 Chciałem dać przykład, jak to działa w badaniach edukacyjnych 646 00:40:06,670 --> 00:40:07,670 sytuacja. 647 00:40:07,670 --> 00:40:10,930 Więc jest organizacja zwane bioboxes. 648 00:40:10,930 --> 00:40:15,450 Bioboxes robi DNA Analiza dla naukowców. 649 00:40:15,450 --> 00:40:22,029 >> Teraz to, co było to, że kiedy researcher-- i to nie jest 650 00:40:22,029 --> 00:40:24,070 winą żadnego konkretnego researcher-- ale kiedy 651 00:40:24,070 --> 00:40:31,240 badacz wdrażane algorytm do analizy, 652 00:40:31,240 --> 00:40:36,670 W sposób szczególny, próbka DNA, oni napisanie oprogramowania, 653 00:40:36,670 --> 00:40:39,980 publikowanie, że, być może, aby GitHub lub gdzieś indziej, 654 00:40:39,980 --> 00:40:42,680 a następnie zostały one zrobione. 655 00:40:42,680 --> 00:40:47,440 >> Cóż problemem było to, że niekoniecznie powtarzalna. 656 00:40:47,440 --> 00:40:51,610 Ponieważ w celu rozumiem oprogramowanie, 657 00:40:51,610 --> 00:40:54,830 byłyby ustawić dla Dokładna środowisko programistyczne 658 00:40:54,830 --> 00:41:00,460 że badacz stosowane, zwykle ich laptop, lub serwer, czy dane 659 00:41:00,460 --> 00:41:04,280 centrum, które zostały przy użyciu. 660 00:41:04,280 --> 00:41:11,530 I w związku z tym, to było bardzo trudne do odtworzenia wyników badań, gdy 661 00:41:11,530 --> 00:41:16,910 Analizując próbki DNA szukać na takie rzeczy jak incidence-- 662 00:41:16,910 --> 00:41:23,830 porównanie częstości występowania zawałów serca w oparciu o pewne geny są obecne, 663 00:41:23,830 --> 00:41:28,900 na przykład, czy ryzyko raka, lub każdy z innych rodzajów rzeczy. 664 00:41:28,900 --> 00:41:33,900 >> Więc to, co zrobili, a nie było zaczęli tworzenie pojemników. 665 00:41:33,900 --> 00:41:39,380 I można przejść do bioboxes.org, jest to świetna organizacja. 666 00:41:39,380 --> 00:41:43,900 I to, co robią jest ich produkcji Pojemniki na podstawie badań. 667 00:41:43,900 --> 00:41:46,840 A potem, kiedy ktoś wysyła w ich próbki, mogą go uruchomić. 668 00:41:46,840 --> 00:41:52,770 I ma wszystkie środowiska potrzebne do uruchomienia tego algorytmu 669 00:41:52,770 --> 00:41:55,370 i wytwarzają wyniki. 670 00:41:55,370 --> 00:41:58,250 A oni stwierdzenie, że są one znacznie częściej i znacznie 671 00:41:58,250 --> 00:42:01,300 szybciej stanie powrót wyników do ludzi. 672 00:42:01,300 --> 00:42:06,860 >> A w rzeczywistości, co robią działają na własną analizę DNA, 673 00:42:06,860 --> 00:42:11,220 wysyłanie, że w celu bioboxes i następnie biobox po prostu ma danych, 674 00:42:11,220 --> 00:42:15,350 prowadzi go przed różnymi w różne pojemniki 675 00:42:15,350 --> 00:42:19,030 aby zobaczyć różne wyniki na podstawie innego badania. 676 00:42:19,030 --> 00:42:21,860 Więc jest to bardzo mocny sposób, w jaki naukowcy 677 00:42:21,860 --> 00:42:28,070 można wykonać jedną instancję, która pozwala innych ludzi, aby spróbować odtworzyć 678 00:42:28,070 --> 00:42:28,650 wyniki. 679 00:42:28,650 --> 00:42:31,710 680 00:42:31,710 --> 00:42:34,360 >> Więc jak zacząć? 681 00:42:34,360 --> 00:42:37,950 682 00:42:37,950 --> 00:42:39,800 Jesteśmy dobrze obsługiwane w systemie Linux. 683 00:42:39,800 --> 00:42:43,070 Więc jeśli chcesz zainstalować coś na Linuksie, 684 00:42:43,070 --> 00:42:45,620 używasz standardu Menedżer pakietów do zainstalowania. 685 00:42:45,620 --> 00:42:47,600 Jeśli używasz Debiana, to apt get. 686 00:42:47,600 --> 00:42:50,500 CentOS jest mniam. 687 00:42:50,500 --> 00:42:53,500 Red Hat Fedora jest rpm-- nie pamiętam. 688 00:42:53,500 --> 00:42:56,070 W każdym razie, to wszystko tam jest. 689 00:42:56,070 --> 00:42:59,610 Wspieramy wiele różnych z dystrybucji Linuksa. 690 00:42:59,610 --> 00:43:01,150 Możesz sprawdzić te na zewnątrz. 691 00:43:01,150 --> 00:43:06,370 >> Mamy też opcje, tak Ciebie może uruchomić na komputerze Mac lub Windows. 692 00:43:06,370 --> 00:43:10,670 Teraz Nico wspomniano wcześniej, że był obsługiwany tylko w systemie Linux. 693 00:43:10,670 --> 00:43:18,180 To prawda, bo to potrzebuje jądra Linuksa. 694 00:43:18,180 --> 00:43:20,540 Ale można uruchomić na maszynie wirtualnej. 695 00:43:20,540 --> 00:43:25,290 A co do Docker Toolbox nie, które można pobrać, 696 00:43:25,290 --> 00:43:27,610 to daje tę maszynę wirtualną. 697 00:43:27,610 --> 00:43:37,260 >> Więc po prostu szybki 48 po drugie, myślę, pobrać. 698 00:43:37,260 --> 00:43:40,670 Wystarczy wyszukać na DOCKER Toolbox, pobrać go do komputera Mac, 699 00:43:40,670 --> 00:43:43,910 i ta część jest Oczywiście przyspieszyło bo kto 700 00:43:43,910 --> 00:43:47,620 chce oglądać sygnał pobierania? 701 00:43:47,620 --> 00:43:54,190 Instalacja standardowa Mac, a następnie jesteś 702 00:43:54,190 --> 00:43:59,795 zobaczymy Jerome umieścić w swoim hasłem. 703 00:43:59,795 --> 00:44:00,670 To bardzo ekscytujące. 704 00:44:00,670 --> 00:44:03,510 705 00:44:03,510 --> 00:44:06,230 A następnie instaluje cała masa narzędzi. 706 00:44:06,230 --> 00:44:10,010 A szczególnie, że będzie zainstalować z wiersza polecenia. 707 00:44:10,010 --> 00:44:14,220 A potem można było zobaczyć Jerome testowania swoich obrazów. 708 00:44:14,220 --> 00:44:19,050 709 00:44:19,050 --> 00:44:22,640 >> A następnie w oparciu o to, widać, że YouTube 710 00:44:22,640 --> 00:44:27,420 uważa, że ​​Nico jest zainteresowany Star Wars, The Jimmy Kimmel Show, 711 00:44:27,420 --> 00:44:29,020 i myślę, że Ellen. 712 00:44:29,020 --> 00:44:34,130 Myślę, że ostatnia jest klip z serialu Ellen. 713 00:44:34,130 --> 00:44:37,760 >> Więc Docker Toolbox choć pochodzi z więcej niż tylko Docker Machine. 714 00:44:37,760 --> 00:44:39,840 Więc Docker Maszyna rzecz, która pomaga 715 00:44:39,840 --> 00:44:43,710 skonfigurować wirtualny Maszyna na systemie Windows 716 00:44:43,710 --> 00:44:52,080 lub Mac-- swoje okno systemu Windows lub komputera Mac box-- i pomaga robić rezerw, 717 00:44:52,080 --> 00:44:54,040 >> Ale to także jest wyposażony Swarm i komponować, 718 00:44:54,040 --> 00:45:00,840 które mają na celu pomóc Ci zrobić duży drożeń aplikacji. 719 00:45:00,840 --> 00:45:04,000 Więc jeśli chcesz zarządzać klastry węzłów, 720 00:45:04,000 --> 00:45:08,450 skupiska kontenerów, Redagowanie i Swarm są sposobem, aby go o tym. 721 00:45:08,450 --> 00:45:11,430 >> I oczywiście chodzi o Docker Silnik i Kitematic, 722 00:45:11,430 --> 00:45:13,250 co jest to pulpit GUI. 723 00:45:13,250 --> 00:45:17,060 Należy również wspomnieć, Docker rejestru, która nie jest wliczona w Toolbox, 724 00:45:17,060 --> 00:45:23,150 ale jest to sposób, aby uruchomić własną rękę rejestry z Docker Obrazy jak Docker 725 00:45:23,150 --> 00:45:28,970 Hub, ale można też po prostu użyć Docker Hub jako sposób to zrobić. 726 00:45:28,970 --> 00:45:32,955 >> A fabuła skręt, widzisz uruchomiony w pojemniku. 727 00:45:32,955 --> 00:45:34,830 I tak jesteśmy dystrybucji nasze slajdy. 728 00:45:34,830 --> 00:45:38,610 Ta cała prezentacja jest faktycznie pokład HTML slajdów. 729 00:45:38,610 --> 00:45:43,170 I to działa w pojemnik, który można uzyskać by-- 730 00:45:43,170 --> 00:45:45,596 >> NICOLA Kabar: Tak, tak, to jest pracuje na pełny etat na mojej Max. 731 00:45:45,596 --> 00:45:47,540 A ja prezentuje od niego. 732 00:45:47,540 --> 00:45:50,910 I po prostu zrobić DOCKER po zainstalowaniu Toolbox. 733 00:45:50,910 --> 00:45:57,340 Możesz po prostu zrobić bieg DOCKER i zrobić to, i korzystać ze zjeżdżalni. 734 00:45:57,340 --> 00:45:58,830 >> MANO ZNAKI: I to wszystko. 735 00:45:58,830 --> 00:46:02,160 Więc dziękuję wszystkim za przybycie. 736 00:46:02,160 --> 00:46:03,990 A my chętnie odpowiemy na pytania. 737 00:46:03,990 --> 00:46:07,810 Należy wspomnieć, przed nikim liście nie ma koszulki tam. 738 00:46:07,810 --> 00:46:10,940 Niestety każdy, kto ogląda to na Livestream lub wideo, 739 00:46:10,940 --> 00:46:12,820 ale mamy dokowane koszulki tam. 740 00:46:12,820 --> 00:46:16,250 I wiemy, że studenci dokowane, i moim doświadczeniem, 741 00:46:16,250 --> 00:46:18,940 profesorowie też, jak wolny odzieży. 742 00:46:18,940 --> 00:46:22,490 >> Więc dziękuję wszystkim za przybycie. 743 00:46:22,490 --> 00:46:27,050 I dołącz do nas na Twitterze jeśli chcesz, czy nie. 744 00:46:27,050 --> 00:46:27,910 Nie obchodzi mnie to. 745 00:46:27,910 --> 00:46:29,430 Również śledzić DOCKER na Twitterze. 746 00:46:29,430 --> 00:46:31,890 To też ciekawe. 747 00:46:31,890 --> 00:46:32,990 A potem to wszystko. 748 00:46:32,990 --> 00:46:33,490 Docker.com. 749 00:46:33,490 --> 00:46:35,410 Dziękuję. 750 00:46:35,410 --> 00:46:39,360 >> [OKLASKI] 751 00:46:39,360 --> 00:46:41,625