1 00:00:00,000 --> 00:00:05,042 >> [MUSIC JOC] 2 00:00:05,042 --> 00:00:06,000 DAVID MALAN: Bine. 3 00:00:06,000 --> 00:00:07,630 Vă mulțumesc foarte mult pentru că ați venit. 4 00:00:07,630 --> 00:00:11,850 Acest lucru este seminar pe CS50 Docker, un tehnologie care noi înșine și pe le CS50 5 00:00:11,850 --> 00:00:13,392 au inceput sa foloseasca de ceva timp acum. 6 00:00:13,392 --> 00:00:15,766 Deci numele meu este David Malan, am preda Introducere Harvard 7 00:00:15,766 --> 00:00:16,671 la Informatică. 8 00:00:16,671 --> 00:00:18,670 De ceva ani, am fost avertizat de studenți 9 00:00:18,670 --> 00:00:20,435 downloadable client-side masini virtuale 10 00:00:20,435 --> 00:00:22,134 pe care le face problemele lor seturi. 11 00:00:22,134 --> 00:00:24,300 Că am trecut de acum la un mediu Cloud 12 00:00:24,300 --> 00:00:27,396 care folosește de fapt, această tehnologie numit Docker, astfel că toate CS50 13 00:00:27,396 --> 00:00:29,270 elevii au acum de recipiente proprii Docker 14 00:00:29,270 --> 00:00:31,180 pe care le veți auzi în curând despre toate. 15 00:00:31,180 --> 00:00:33,740 >> Mai mult decât atât, pe serverul lui CS50 grup lateral, de mai mulți ani 16 00:00:33,740 --> 00:00:35,290 am fost folosind serverul Amazon Cloud. 17 00:00:35,290 --> 00:00:37,164 Am fost difuzate individuală masini virtuale. 18 00:00:37,164 --> 00:00:40,330 Asta, am început să tranziția la aceste lucruri numite containere Docker 19 00:00:40,330 --> 00:00:43,762 astfel încât toate aplicațiile noastre sunt acum perfect izolat una de alta. 20 00:00:43,762 --> 00:00:46,720 Deci, pentru că și mai mult, permiteți-mi să să introducă prietenii noștri, Nico și Mano, 21 00:00:46,720 --> 00:00:48,574 din Docker sine. 22 00:00:48,574 --> 00:00:49,740 NICOLA Kabar: Mulțumesc, David. 23 00:00:49,740 --> 00:00:51,410 Buna tuturor. 24 00:00:51,410 --> 00:00:54,230 Numele meu este Nico și acest lucru este Mano. 25 00:00:54,230 --> 00:00:58,260 Suntem din Docker. 26 00:00:58,260 --> 00:01:02,240 Vom vorbi about-- oferindu-vă voi un intro la Docker, 27 00:01:02,240 --> 00:01:08,100 și, sperăm, spre sfârșitul din această discuție, puteți realiza 28 00:01:08,100 --> 00:01:12,890 cât de mult puteți utiliza medic pentru a oxalat de dezvoltare aplicația 29 00:01:12,890 --> 00:01:14,200 și de implementare. 30 00:01:14,200 --> 00:01:21,250 >> Deci, vom începe reale rapid cu unele informații de fond. 31 00:01:21,250 --> 00:01:22,750 Descrie ceea ce Docker este despre toate. 32 00:01:22,750 --> 00:01:25,490 Cum functioneazã? 33 00:01:25,490 --> 00:01:27,400 Cum se proiectat? 34 00:01:27,400 --> 00:01:29,360 Voi face unele demo-uri. 35 00:01:29,360 --> 00:01:35,070 Și Mano va fi descrie cum puteți folosi Docker 36 00:01:35,070 --> 00:01:37,720 și oferindu-vă măsuri specifice cum puteți începe. 37 00:01:37,720 --> 00:01:41,490 >> Aș aprecia dacă voi poate deține off pentru întrebările dvs. spre sfârșitul. 38 00:01:41,490 --> 00:01:46,800 În acest fel, s-ar putea să fie abordarea celor întrebări în întreaga prezentare. 39 00:01:46,800 --> 00:01:52,150 Așa că vom lăsa ceva timp spre sfârșitul de întrebări. 40 00:01:52,150 --> 00:01:55,170 >> Deci, doar repede, care are lucrate efectiv vreodată pe Docker, 41 00:01:55,170 --> 00:01:56,850 ca a jucat cu ea? 42 00:01:56,850 --> 00:01:58,000 Incredibil. 43 00:01:58,000 --> 00:01:58,520 Misto. 44 00:01:58,520 --> 00:01:59,817 Grozav. 45 00:01:59,817 --> 00:02:01,525 Deci, am de gând să încep cu unele de istorie. 46 00:02:01,525 --> 00:02:04,350 47 00:02:04,350 --> 00:02:09,820 Deci, înapoi în anii '90 și începutul anilor 2000, practic 48 00:02:09,820 --> 00:02:16,940 ca dezvoltatorii web, dezvoltatorilor de aplicații, când s-au dus pentru a implementa o aplicație 49 00:02:16,940 --> 00:02:19,350 a fost legat de goale de metal. 50 00:02:19,350 --> 00:02:20,860 A fost un singur server. 51 00:02:20,860 --> 00:02:22,870 A fost o singură cerere. 52 00:02:22,870 --> 00:02:25,260 >> In mod traditional, un exemplu ar fi ca o stivă LAMP, 53 00:02:25,260 --> 00:02:30,630 în cazul în care ați avut de fapt la aduce la piscina de resurse. 54 00:02:30,630 --> 00:02:37,110 CPU, memorie, disc, rețea, instalarea sistem de operare pe deasupra. 55 00:02:37,110 --> 00:02:40,060 Dacă sunteți de servire ceva, dacă întâmpinați de fapt server de web, 56 00:02:40,060 --> 00:02:42,470 aveți nevoie de ceva de genul Apache pentru a servi. 57 00:02:42,470 --> 00:02:47,540 >> În cazul în care cererea dumneavoastră are nevoie de baze de date, backhand, 58 00:02:47,540 --> 00:02:50,840 v-ar instala ceva cum ar fi MySQL, și așa mai departe. 59 00:02:50,840 --> 00:02:55,910 Și dacă ai nevoie de timp alerga, PHPs și munca PHP Python au fost acolo. 60 00:02:55,910 --> 00:02:59,480 Și astfel am avut de fapt la ia aceste măsuri pentru 61 00:02:59,480 --> 00:03:02,060 să se ridice de cerere și să fie difuzate. 62 00:03:02,060 --> 00:03:08,440 >> Dacă ai nevoie de mai multă putere de calcul de tine, practic avut de a apela Ops tipul tău 63 00:03:08,440 --> 00:03:16,260 sau gal pentru a merge și rack o nouă bucată de hardware, conectați-l, 64 00:03:16,260 --> 00:03:19,850 și va trebui să repetați cele procesele nou și din nou. 65 00:03:19,850 --> 00:03:23,680 Deci, acest proces a fost relativ scump. 66 00:03:23,680 --> 00:03:26,080 A fost cu siguranta foarte lent. 67 00:03:26,080 --> 00:03:27,550 >> A fost ineficient. 68 00:03:27,550 --> 00:03:33,890 Și într-o mulțime de cazuri, dvs. hardware a fost insuficient. 69 00:03:33,890 --> 00:03:38,830 Deci, la sfârșitul anilor '90 și începutul anilor 2000, de virtualizare hardware a venit peste. 70 00:03:38,830 --> 00:03:42,475 Și, după cum puteți vedea aici, în imagine, practic ceea ce au făcut 71 00:03:42,475 --> 00:03:46,390 este captată la piscina de resurse hardware gratuit 72 00:03:46,390 --> 00:03:49,680 și un fel de a servit celor pentru straturile superioare, 73 00:03:49,680 --> 00:03:52,360 În acest caz, sistemul de operare oaspete. 74 00:03:52,360 --> 00:03:54,940 >> Și ideea de masini virtuale a venit peste 75 00:03:54,940 --> 00:03:59,110 și că într-adevăr a ajutat Cloud de calcul cum o știm astăzi. 76 00:03:59,110 --> 00:04:02,730 Deci, ceea ce a însemnat că este de tine poate rula mai multe masini virtuale, care 77 00:04:02,730 --> 00:04:06,720 a însemnat mai multe stive, multiple aplicație pe o mașină fizică aceeași. 78 00:04:06,720 --> 00:04:10,570 79 00:04:10,570 --> 00:04:16,440 >> Acest siguranta a ajutat la Viteza de implementarea aplicațiilor. 80 00:04:16,440 --> 00:04:17,629 Categoric cu cheltuielile. 81 00:04:17,629 --> 00:04:22,810 Nu trebuie să mergi și petrece energie, timp și resurse pentru a rack- 82 00:04:22,810 --> 00:04:26,210 mai multe servere pentru a ajunge la mai mult de calcul. 83 00:04:26,210 --> 00:04:30,950 Și viteza de fapt aduce Aceste resurse up este mult mai rapid. 84 00:04:30,950 --> 00:04:31,450 Grozav. 85 00:04:31,450 --> 00:04:34,320 >> Deci am rezolvat foametei în lume, nu? 86 00:04:34,320 --> 00:04:36,390 Nu, nu chiar. 87 00:04:36,390 --> 00:04:42,410 Deci, virtualizare fel de mult ca este de fapt a ajutat, rezolva problema, 88 00:04:42,410 --> 00:04:45,460 a introdus de fapt o mulțime de provocări. 89 00:04:45,460 --> 00:04:49,210 Hypervisor siguranta a introdus o mulțime de complexitate, 90 00:04:49,210 --> 00:04:53,820 manipulare cei care stau la baza bazin de resurse. 91 00:04:53,820 --> 00:04:57,910 >> E mai greu în sensul că, înainte de ai avut un singur sistem de operare pe care 92 00:04:57,910 --> 00:05:01,830 este ca trei, patru concerte pe disc. 93 00:05:01,830 --> 00:05:04,230 Acum, dacă aveți 10 de mașini pe un singur hardware 94 00:05:04,230 --> 00:05:09,060 aveți pentru a se multiplica că de numărul de mașini. 95 00:05:09,060 --> 00:05:11,440 Este cu siguranta mai mult scump într-un sens încă 96 00:05:11,440 --> 00:05:14,430 trebuie să te licențiere pentru tehnologia de virtualizare 97 00:05:14,430 --> 00:05:18,210 dacă nu e open source. 98 00:05:18,210 --> 00:05:21,120 >> Dar, să nu ia toate credit de la virtualizare. 99 00:05:21,120 --> 00:05:27,530 Pentru că ceea ce sa întâmplat este există o mulțime de stive și o mulțime de software 100 00:05:27,530 --> 00:05:33,900 tehnologii care au fost activate de cât de repede au putut pentru a obține 101 00:05:33,900 --> 00:05:38,040 la resursele cu boom-ul Cloud. 102 00:05:38,040 --> 00:05:46,675 >> Deci, astăzi o singură aplicație sau serviciu poate folosi oricare dintre următoarele runtime 103 00:05:46,675 --> 00:05:47,216 sau baze de date. 104 00:05:47,216 --> 00:05:50,250 105 00:05:50,250 --> 00:05:56,070 PHP, Python, MySQL, Redis, fleacuri. 106 00:05:56,070 --> 00:05:59,740 Deci, există o mulțime de complexitate pe acest numărul de stive pentru a aduce de fapt, 107 00:05:59,740 --> 00:06:02,210 un singur serviciu. 108 00:06:02,210 --> 00:06:07,300 Și, împreună cu faptul că, ai avut o mulțime de resurse care stau la baza sau infrastructura 109 00:06:07,300 --> 00:06:15,210 Tipuri de a testa practic implementat și ia la producția aceste cereri 110 00:06:15,210 --> 00:06:16,900 că sunteți în curs de dezvoltare. 111 00:06:16,900 --> 00:06:21,950 >> Mai ales ca echipele au Cultivate de lucru cu privire la aceste aplicații, 112 00:06:21,950 --> 00:06:25,310 există o mulțime de complexitatea și provocările 113 00:06:25,310 --> 00:06:31,660 care au fost aduse pentru a se asigura că cycle-- practic de aplicare 114 00:06:31,660 --> 00:06:34,040 ciclu de dezvoltare, este de fapt de succes. 115 00:06:34,040 --> 00:06:40,440 Deci, faptul că cererea dumneavoastră este de lucru la nivel local pe dumneavoastră VM locală 116 00:06:40,440 --> 00:06:47,480 nu garantează că colegul dvs. este de gând să aștepte aceleași rezultate. 117 00:06:47,480 --> 00:06:51,330 >> Și când echipa de operațiuni este implicat în luarea ceea ce ai 118 00:06:51,330 --> 00:06:54,480 și implementarea în producție scară, de asemenea, nu există nici o garanție 119 00:06:54,480 --> 00:06:56,730 că de fapt se va întâmpla. 120 00:06:56,730 --> 00:07:00,900 Deci, acest lucru ne lasă cu un adevărat big-- o mulțime de semne de întrebare, 121 00:07:00,900 --> 00:07:07,700 o mulțime de provocări, de fapt cu care se confruntă în mod similar înapoi în zilele. 122 00:07:07,700 --> 00:07:12,280 Și asta ne-a amintit de industria navală. 123 00:07:12,280 --> 00:07:14,280 >> Deci industria navală a avut o mulțime de bunuri, 124 00:07:14,280 --> 00:07:16,190 după cum puteți vedea pe partea stângă. 125 00:07:16,190 --> 00:07:19,840 Și pe partea dreaptă, există o mulțime de, practic, 126 00:07:19,840 --> 00:07:22,160 modalități de a livra aceste produse. 127 00:07:22,160 --> 00:07:26,040 Și ce se întâmplă ca un cuplu oamenii s-au adunat și au zis: 128 00:07:26,040 --> 00:07:29,600 avem nevoie pentru a standardiza modul în care am expediat de fapt aceste produse. 129 00:07:29,600 --> 00:07:33,280 Și boom-ul, aveți intermodal container. 130 00:07:33,280 --> 00:07:38,970 >> Deci, au fost de acord asupra cel mai Dimensiunile obișnuite pentru container. 131 00:07:38,970 --> 00:07:40,160 Cum să se ocupe de ei. 132 00:07:40,160 --> 00:07:44,560 Ce exact metoda aveți nevoie pentru a le încărca și descărca lor. 133 00:07:44,560 --> 00:07:49,590 Și, prin urmare, că într-adevăr a ajutat industria navală. 134 00:07:49,590 --> 00:07:55,250 Acum, mai mult de 90% se concentreze transportat la nivel global sunt utilizarea acestor containere. 135 00:07:55,250 --> 00:08:01,010 Și care scade cu siguranta cheltuielile, precum și 136 00:08:01,010 --> 00:08:03,400 pagubele datorate de transport maritim. 137 00:08:03,400 --> 00:08:09,660 >> Așa că am să ia același model și noi se aplică software-ul de dezvoltare două app 138 00:08:09,660 --> 00:08:13,080 arhitectura, în sensul că conteinerizare 139 00:08:13,080 --> 00:08:15,842 a luat virtualizare sus cu un nivel. 140 00:08:15,842 --> 00:08:17,800 Deci, în loc de a face asta la nivel hardware, 141 00:08:17,800 --> 00:08:22,060 a devenit mai mult o exploatare nivel de sistem de virtualizare. 142 00:08:22,060 --> 00:08:26,450 >> Și facem asta prin furnizarea de fiecare aplicarea în propriul său ușor, 143 00:08:26,450 --> 00:08:31,180 izolat, runnable, și portabil, cel mai important, 144 00:08:31,180 --> 00:08:35,049 o modalitate de a pachet de fapt tot ceea ce are nevoie pentru a rula. 145 00:08:35,049 --> 00:08:36,100 Oriunde se poate rula. 146 00:08:36,100 --> 00:08:42,039 Deci, indiferent dacă sunteți-l rulează pe mediu dev local, productia 147 00:08:42,039 --> 00:08:44,490 mediu, intermediere sau de testare dumneavoastră. 148 00:08:44,490 --> 00:08:47,700 Indiferent de ceea ce stă la baza Infrastructura este acolo, 149 00:08:47,700 --> 00:08:51,410 ai avut o aplicatie de lucru funcțional. 150 00:08:51,410 --> 00:08:54,100 151 00:08:54,100 --> 00:09:01,800 >> Deci, asta e exact ceea ce, practic, containere face la această problemă. 152 00:09:01,800 --> 00:09:04,070 Ei i se adreseze cu ambalaje în așa fel 153 00:09:04,070 --> 00:09:09,490 că se poate garanta că este implementat cu succes, indiferent unde trăiește. 154 00:09:09,490 --> 00:09:12,120 Deci, dacă ai de gând cum ar fi, Bob e încă OK. 155 00:09:12,120 --> 00:09:17,860 Daca te confundat cu ceea ce vreau să spun, Am de gând să fie elaborarea cu privire la acest. 156 00:09:17,860 --> 00:09:20,900 >> Deci, cum face Docker sine se potrivesc în această imagine? 157 00:09:20,900 --> 00:09:26,335 Deci Docker este o platformă deschisă la ușurință, sublinia cu usurinta, 158 00:09:26,335 --> 00:09:30,500 pentru a construi nave, alerga, auto ușor portabil 159 00:09:30,500 --> 00:09:33,440 suficiente containere app oriunde. 160 00:09:33,440 --> 00:09:37,660 Deci, dacă iei ceva de la acest Discuție, vă rugăm să luați următoarele. 161 00:09:37,660 --> 00:09:40,980 >> Dacă aveți de funcționare app la nivel local și sa dezvoltat 162 00:09:40,980 --> 00:09:45,930 în utilizarea platformei Docker, se așteaptă acesta să fie instalat cu succes. 163 00:09:45,930 --> 00:09:49,380 Indiferent de ceea ce este infrastructura de bază. 164 00:09:49,380 --> 00:09:53,830 Deci, dacă aveți un Docker container și este de lucru, atunci 165 00:09:53,830 --> 00:09:58,130 atâta timp cât există o Docker motor, pe de altă side-- 166 00:09:58,130 --> 00:10:02,190 în cazul în care infrastructura de funcționare este folosind orice Cloud, fie că 167 00:10:02,190 --> 00:10:06,680 este AWS, sau Google, Microsoft sau, sau la oricare dintre nori publice, 168 00:10:06,680 --> 00:10:10,010 sau propriul Cloud, sau stivă deschis Nor, sau mediul local. 169 00:10:10,010 --> 00:10:11,970 >> Dacă aveți un motor funcționare, înseamnă că 170 00:10:11,970 --> 00:10:14,537 se va fi implementat cu succes acolo. 171 00:10:14,537 --> 00:10:16,620 O să fie difuzate exact același comportament 172 00:10:16,620 --> 00:10:21,480 cum îl proiectat să fie. 173 00:10:21,480 --> 00:10:26,080 Deci, dacă ne uităm at-- am de gând pentru a merge prin ceea ce de fapt 174 00:10:26,080 --> 00:10:29,160 sunt în principalele componente ale Docker. 175 00:10:29,160 --> 00:10:31,060 >> Deci motorului este la baza Docker. 176 00:10:31,060 --> 00:10:32,770 Este creierul. 177 00:10:32,770 --> 00:10:39,360 Acesta orchestrează clădire, de transport maritim, și implementarea și gestionarea 178 00:10:39,360 --> 00:10:41,570 containerele înșiși. 179 00:10:41,570 --> 00:10:45,160 Voi săpa în ceea ce face Motor în mai multe detalii într-o secundă. 180 00:10:45,160 --> 00:10:47,740 181 00:10:47,740 --> 00:10:51,720 Practic, pentru că doctorul a fost construit în jurul valorii de arhitecturi de server client, 182 00:10:51,720 --> 00:10:56,630 astfel încât, în scopul de a interacționa cu Motorul ai nevoie de un fel de client. 183 00:10:56,630 --> 00:11:01,200 >> Imaginile sunt șabloanele din care containerele sunt construite din. 184 00:11:01,200 --> 00:11:06,800 Deci, imaginile sunt de fapt fișiere doar statice. 185 00:11:06,800 --> 00:11:08,740 Template-uri și containere este, de fapt ceea ce este 186 00:11:08,740 --> 00:11:12,280 se execută în timpul rulării pe care este de servire aplicația 187 00:11:12,280 --> 00:11:15,150 sau de a face ceva cu datele. 188 00:11:15,150 --> 00:11:19,020 >> Registrul este abordată ca o problemă de cum de fapt distribuiți imagini. 189 00:11:19,020 --> 00:11:23,230 Deci, dacă aveți nevoie pentru a partaja o imagine care a lucrat pe colegul dumneavoastră 190 00:11:23,230 --> 00:11:27,220 sau la echipa ops, tu l utilizați utilizând Registry. 191 00:11:27,220 --> 00:11:31,720 Puteți descărca o sursă deschisă versiune a acestuia care a lucrat pe Docker 192 00:11:31,720 --> 00:11:33,150 și deschideți surse. 193 00:11:33,150 --> 00:11:38,040 >> Sau puteți folosi Docker ajutor, care este versiunea Cloud 194 00:11:38,040 --> 00:11:40,130 pentru a împinge și trage imagini acolo. 195 00:11:40,130 --> 00:11:41,160 Asta e un lucru foarte mare. 196 00:11:41,160 --> 00:11:44,520 Pentru că există o mare ecosistem în jurul Docker și este 197 00:11:44,520 --> 00:11:48,960 într-adevăr puternic folosind hub. 198 00:11:48,960 --> 00:11:59,780 >> Deci, pentru a rezuma aici, acest lucru este modul în care minimalist client flux de lucru Docker. 199 00:11:59,780 --> 00:12:04,040 Interacționați cu gazda, în acest caz este de daemon docher. 200 00:12:04,040 --> 00:12:06,490 Este același lucru ca și motor. 201 00:12:06,490 --> 00:12:09,690 Puteți face comenzi, cum ar fi Docker construi, trage, a alerga. 202 00:12:09,690 --> 00:12:14,280 Și motorul în sine merge și face acele lucruri. 203 00:12:14,280 --> 00:12:18,010 >> Deci, fie că interacționează cu Registru pentru a trage acele imagini 204 00:12:18,010 --> 00:12:19,670 și straturile ale imaginilor. 205 00:12:19,670 --> 00:12:25,030 Fie dacă doriți să implementați, rulați containere,-i omoare, arunca-le în jos, 206 00:12:25,030 --> 00:12:25,730 fleacuri. 207 00:12:25,730 --> 00:12:32,190 Deci acest rezumă fluxul de lucru de toate aceste componente. 208 00:12:32,190 --> 00:12:34,710 >> Deci, dacă luați în fiecare componente de la sine. 209 00:12:34,710 --> 00:12:37,690 Deci Motor, e doar un demon. 210 00:12:37,690 --> 00:12:40,800 Va fel de-l joace pentru a sprijini l pe Linux, pentru că nu 211 00:12:40,800 --> 00:12:44,380 necesită anumite caracteristici kernelul Linux. 212 00:12:44,380 --> 00:12:48,820 Dar Windows funcționează pe a face același lucru. 213 00:12:48,820 --> 00:12:53,720 Ar trebui să fie sprijinite de Windows Server 2016. 214 00:12:53,720 --> 00:13:01,500 >> Deci, din nou, responsabilitățile cu motorului este de a, sau sunt, construi imagini. 215 00:13:01,500 --> 00:13:05,340 Trageți imagini din Docker Hub sau propria Registry. 216 00:13:05,340 --> 00:13:07,840 Dacă ai terminat cu acele imagini sau creați o nouă imagini, 217 00:13:07,840 --> 00:13:14,770 te poate împinge cele înapoi la registru pentru a le distribui la alte echipe. 218 00:13:14,770 --> 00:13:18,300 >> Și încearcă să-l conțină pe plan local și de a gestiona ciclul de viață containere 219 00:13:18,300 --> 00:13:19,260 la nivel local. 220 00:13:19,260 --> 00:13:22,010 Acesta este construit în jurul HTTP REST API. 221 00:13:22,010 --> 00:13:24,480 Deci tehnic puteți scrie propria client 222 00:13:24,480 --> 00:13:31,650 atâta timp cât acesta folosește HTTP, care este un foarte mecanism standard pentru a vorbi cu motor 223 00:13:31,650 --> 00:13:33,110 și o mulțime de alte servicii. 224 00:13:33,110 --> 00:13:35,780 Și puteți vedea de la aici că, indiferent 225 00:13:35,780 --> 00:13:39,010 de ce infrastructurii este, atâta timp cât toate can-- 226 00:13:39,010 --> 00:13:42,170 aveți nevoie este o operare sistem, Linux special. 227 00:13:42,170 --> 00:13:45,460 >> Și puteți instala Docker Motor pe partea de sus de care și l-au rulează 228 00:13:45,460 --> 00:13:48,970 și orchestrează, practic, toate acestea app unul, doi, 229 00:13:48,970 --> 00:13:51,530 și trei sunt containere reale. 230 00:13:51,530 --> 00:13:53,990 Așa că e Engine. 231 00:13:53,990 --> 00:13:58,040 Așa cum am menționat mai devreme, deoarece aveți nevoie pentru a interacționa cu motor, 232 00:13:58,040 --> 00:13:59,200 e clientul. 233 00:13:59,200 --> 00:14:03,180 >> Dar, de fapt atunci când instalați Docher, IT nave cu o. 234 00:14:03,180 --> 00:14:06,110 Așa că este instalat, deci este un singur binar. 235 00:14:06,110 --> 00:14:11,830 Și tu poți face apeluri locale pentru Docker motorul. 236 00:14:11,830 --> 00:14:14,040 Sau apeluri de la distanță de la distanță. Motoare 237 00:14:14,040 --> 00:14:16,600 238 00:14:16,600 --> 00:14:19,590 Ea folosește HTTP, ca Am menționat mai devreme. 239 00:14:19,590 --> 00:14:24,200 Există un client GUI numit Kitematic din Docker. 240 00:14:24,200 --> 00:14:26,390 Și acolo sunt cu siguranta o mulțime de alte persoane 241 00:14:26,390 --> 00:14:29,740 care sunt construirea o mulțime de GUI care implementeaza practic 242 00:14:29,740 --> 00:14:32,980 unele HTTP solicită să vorbească cu motor. 243 00:14:32,980 --> 00:14:35,920 244 00:14:35,920 --> 00:14:39,280 >> Doar unele comenzi de probă. 245 00:14:39,280 --> 00:14:44,620 Dacă veți face versiunea Docker, ar fi vă arăta versiunea client, precum și 246 00:14:44,620 --> 00:14:47,030 versiunea de server. 247 00:14:47,030 --> 00:14:49,500 Dacă veți face multe informatii Docker se va să vă spun toate informațiile 248 00:14:49,500 --> 00:14:54,300 despre cât de multe containere se execută sau create, cât de multe imagini aveți, 249 00:14:54,300 --> 00:14:56,530 și așa mai departe și așa mai departe. 250 00:14:56,530 --> 00:15:01,850 >> Aici am, în următorii să Ultima box, am doctore alerga. 251 00:15:01,850 --> 00:15:04,970 Deci, asta e cum eu sunt de fapt crearea container. 252 00:15:04,970 --> 00:15:08,960 Și eu l dau ecou Hello World și să doarmă pentru un al doilea și fleacuri. 253 00:15:08,960 --> 00:15:12,830 Și puteți vedea rezultat. Deci e în curs de desfășurare. 254 00:15:12,830 --> 00:15:16,930 Și similar cu PS Linux, puteți vedea toate procesele și, în acest caz, 255 00:15:16,930 --> 00:15:18,540 toate containerele de funcționare. 256 00:15:18,540 --> 00:15:23,430 Înapoi trimitere Acesta a containerul am creat. 257 00:15:23,430 --> 00:15:27,560 >> Deci, acest lucru este foarte important, deoarece, cum ar fi, poate fi un pic confuz. 258 00:15:27,560 --> 00:15:33,050 Deci, imaginile sunt numai pentru citire-the colecție de fișiere, nu? 259 00:15:33,050 --> 00:15:37,000 Ele sunt ceea ce containerul noastră se bazează pe. 260 00:15:37,000 --> 00:15:40,340 Dar acestea sunt doar în citire numai. 261 00:15:40,340 --> 00:15:44,330 Astfel încât să începeți cu o imagine de bază. 262 00:15:44,330 --> 00:15:50,180 Acesta tinde să imite-OS cum ar fi, așa Ubuntu, CentOS, imaginea de bază fleacuri. 263 00:15:50,180 --> 00:15:53,990 Și apoi începe construirea pe partea de sus a că, anumite straturi, care va face până 264 00:15:53,990 --> 00:16:00,010 imaginea final, rezultatul final aici. 265 00:16:00,010 --> 00:16:03,220 >> Și fiecare dintre aceste straturi ar trebui să aibă o imagine părinte 266 00:16:03,220 --> 00:16:06,690 că face referire atunci când de fapt, vrea să creeze. 267 00:16:06,690 --> 00:16:09,922 Ele sunt imuabile, în sensul că numai-citire, deoarece acestea sunt, 268 00:16:09,922 --> 00:16:11,630 nu poți de fapt face modificări la acestea. 269 00:16:11,630 --> 00:16:17,540 Le puteți folosi pentru a crea un container de la o imagine, care 270 00:16:17,540 --> 00:16:23,530 va apela tot ulterioare imagini cerute sub acesta. 271 00:16:23,530 --> 00:16:26,400 >> Puteți face modificări la un alt strat, 272 00:16:26,400 --> 00:16:28,810 este un strat de rescriere Voi vorbim despre un al doilea. 273 00:16:28,810 --> 00:16:31,350 Dar fiecare dintre aceste straturi nu sunt niciodată modificate. 274 00:16:31,350 --> 00:16:34,300 275 00:16:34,300 --> 00:16:38,670 Practic imagini folosi ceva numit System, UFS Uniunii fișier. 276 00:16:38,670 --> 00:16:42,280 Și acolo sunt diferite de stocare backend care utilizează această tehnologie. 277 00:16:42,280 --> 00:16:49,430 Și asta înseamnă că reunește sisteme de fișiere diferite 278 00:16:49,430 --> 00:16:51,190 pentru a le face arate ca unul. 279 00:16:51,190 --> 00:16:54,460 >> Astfel încât să puteți de fapt, de la o perspectivă cerere, 280 00:16:54,460 --> 00:16:59,570 aveți un top al o vedere care arată toate sistemul de fișiere diferite necesar 281 00:16:59,570 --> 00:17:01,120 pentru ca aplicarea să ruleze. 282 00:17:01,120 --> 00:17:04,400 Dar sunt de fapt, în acest sens, ele sunt de fapt, în locuri separate 283 00:17:04,400 --> 00:17:06,410 și de a fi utilizate de către alte recipiente, precum și. 284 00:17:06,410 --> 00:17:09,569 285 00:17:09,569 --> 00:17:14,410 >> Deci, după cum puteți vedea aici că dacă vom începe cu imaginea daemon 286 00:17:14,410 --> 00:17:18,619 ca o imagine de bază, și apoi mergem în și se adaugă [? emacs?] 287 00:17:18,619 --> 00:17:20,720 și apoi acesta este un alt strat. 288 00:17:20,720 --> 00:17:21,916 Și apoi adăugați Apache. 289 00:17:21,916 --> 00:17:22,790 Asta e un alt strat. 290 00:17:22,790 --> 00:17:25,470 Și apoi ne petrecem container din care. 291 00:17:25,470 --> 00:17:29,760 Fiecare dintre aceste imagini, fiecare dintre aceste straturi, 292 00:17:29,760 --> 00:17:35,530 este distinct și poate fi reutilizate de alte recipiente. 293 00:17:35,530 --> 00:17:40,070 >> Dacă te uiți la containere sine, sunt într-un fel ca VM-cum ar fi, 294 00:17:40,070 --> 00:17:41,930 dar nu este tratată în același timp. 295 00:17:41,930 --> 00:17:49,180 Deci, nu au, de vedere tehnic, sistem de operare complet sub ele. 296 00:17:49,180 --> 00:17:52,630 Ei folosesc kernel unic a sistemului de operare gazdă. 297 00:17:52,630 --> 00:17:54,440 Și au construit pe deasupra. 298 00:17:54,440 --> 00:17:56,250 Ei imita in modul in care arata. 299 00:17:56,250 --> 00:18:00,710 Ei imita fișier lor rădăcină al sistemului de operare. 300 00:18:00,710 --> 00:18:04,930 Dar ei de fapt nu sunt replicarea. 301 00:18:04,930 --> 00:18:12,080 >> Deci, în loc de a avea straturi imuabile, ultimul strat, care este recipientul 302 00:18:12,080 --> 00:18:14,690 în sine, este un strat de citire-scriere. 303 00:18:14,690 --> 00:18:17,350 Care ruleaza, de asemenea, procesele cererii dumneavoastră. 304 00:18:17,350 --> 00:18:23,530 Și depinde de straturile de bază. 305 00:18:23,530 --> 00:18:26,730 Fiecare container este creat de la o imagine. 306 00:18:26,730 --> 00:18:32,450 Și că imaginea poate fi un singur strat sau multistrat imagine. 307 00:18:32,450 --> 00:18:37,200 >> Și vreau să rețineți aici că Docker foloseste puternic, 308 00:18:37,200 --> 00:18:40,370 sau se bazează pe mecanismul Copy-On-scriere. 309 00:18:40,370 --> 00:18:44,350 Așa că, de fapt, dacă nu sunteți efectuarea de modificări la container, 310 00:18:44,350 --> 00:18:45,930 nu este de gând să ia spațiu suplimentar. 311 00:18:45,930 --> 00:18:49,600 Deci, asta e, practic cum rezuma un Copy-On-scriere. 312 00:18:49,600 --> 00:18:53,820 Se va accelera cu siguranta timpul de boot pentru container. 313 00:18:53,820 --> 00:18:56,300 Pentru că, dacă nu faci modificări ale containerului, 314 00:18:56,300 --> 00:18:57,800 este utilizarea ceea ce este deja acolo. 315 00:18:57,800 --> 00:19:01,130 316 00:19:01,130 --> 00:19:02,955 >> Deci, cum funcționează de fapt. 317 00:19:02,955 --> 00:19:06,920 318 00:19:06,920 --> 00:19:14,240 O parte din ea e ca, chiar acum, folosește cel puțin două kernel-cheie 319 00:19:14,240 --> 00:19:14,820 caracteristici. 320 00:19:14,820 --> 00:19:17,660 Și asta este de fapt ceea ce creat acest nivel de izolare 321 00:19:17,660 --> 00:19:19,550 pentru containerele înșiși. 322 00:19:19,550 --> 00:19:22,290 Aceste caracteristici sunt spațiile de nume și cgroups. 323 00:19:22,290 --> 00:19:29,870 Deci, spații de nume sunt o modalitate de a crea resurse izolate, 324 00:19:29,870 --> 00:19:36,290 astfel încât interiorul containerului în sine, Numai tu poți vedea anumite resurse. 325 00:19:36,290 --> 00:19:40,030 Precum interfața de rețea sau anumiți utilizatori sau fleacuri. 326 00:19:40,030 --> 00:19:44,160 >> Și acestea sunt doar vizibile și numai accesibil în interiorul containerului. 327 00:19:44,160 --> 00:19:48,290 Cgroup pe de altă limitele laterale cum utilizați aceste resurse. 328 00:19:48,290 --> 00:19:50,950 CPU, memorie, și disc. 329 00:19:50,950 --> 00:19:53,900 Când poți merge în, am înseamnă acele sunt de fapt 330 00:19:53,900 --> 00:19:57,410 caracteristici care au fost dezvoltate by-- acestea sunt o parte a kernel-ului Linux. 331 00:19:57,410 --> 00:20:01,800 Deci, ei nu au fost reinventate prin sau recreat de Docker. 332 00:20:01,800 --> 00:20:03,770 Docher le folosește. 333 00:20:03,770 --> 00:20:05,560 >> Ce Doctor făcut într-adevăr aici este de fapt 334 00:20:05,560 --> 00:20:08,680 Crearea orchestrată spații de nume pentru fiecare container 335 00:20:08,680 --> 00:20:13,320 și crearea cgroups astfel că este ridicol de ușor de a crea containere 336 00:20:13,320 --> 00:20:14,870 folosind aceste caracteristici. 337 00:20:14,870 --> 00:20:22,910 Desigur, așa cum am descris mai devreme, Uniunea Fișier Sisteme și Copy-On-Scrie adevărat 338 00:20:22,910 --> 00:20:26,810 ajuta viteza și discul utilizării containerelor. 339 00:20:26,810 --> 00:20:28,917 >> Și odată ce te dumneavoastră mâini în jurul valorii de Docker, 340 00:20:28,917 --> 00:20:32,000 veti vedea cât de repede este de a de spin de fapt, containere și lacrimă 341 00:20:32,000 --> 00:20:32,500 le în jos. 342 00:20:32,500 --> 00:20:36,060 343 00:20:36,060 --> 00:20:40,230 Deci, dacă s-ar putea întreba, cum poate de fapt construi imagini? 344 00:20:40,230 --> 00:20:45,940 Construim imagini printr-un proces de creare a containere și fac modificări, modificarea 345 00:20:45,940 --> 00:20:50,220 le, și le comite în a deveni o imagine. 346 00:20:50,220 --> 00:20:54,330 >> Deci, este un pui și referință ou aici, 347 00:20:54,330 --> 00:20:57,350 pentru că toate containerele veni de la imagini și imagini vin 348 00:20:57,350 --> 00:21:00,270 din containere comise, în majoritatea cazurilor. 349 00:21:00,270 --> 00:21:03,830 Există trei opțiuni pentru a crea imagini. 350 00:21:03,830 --> 00:21:06,580 Am de gând să descrie prima și ultima. 351 00:21:06,580 --> 00:21:10,060 Puteți fie manual du-te și executați recipientul 352 00:21:10,060 --> 00:21:14,280 și de a face aceste modificări, ca tine ar face pe orice VM 353 00:21:14,280 --> 00:21:17,060 sau orice sistem de operare, cum ar ca instalarea de noi binare, 354 00:21:17,060 --> 00:21:19,370 adăugând sisteme de fișiere, și fleacuri. 355 00:21:19,370 --> 00:21:22,620 >> Și apoi iesiti, ca puteți vedea acolo. 356 00:21:22,620 --> 00:21:24,330 Sunt ieșirea container mea. 357 00:21:24,330 --> 00:21:26,050 Și apoi fac Docker comite. 358 00:21:26,050 --> 00:21:28,390 Și eu comiterea asta. 359 00:21:28,390 --> 00:21:31,560 Puteți vedea că numărul aici este doar un UUID, sau primele 12 360 00:21:31,560 --> 00:21:32,810 biți de UUID. 361 00:21:32,810 --> 00:21:34,320 Sau bytes de UUID. 362 00:21:34,320 --> 00:21:35,770 Și apoi am sunat-l imaginea mea. 363 00:21:35,770 --> 00:21:39,510 Deci, acum Docker are grija de înregistrare tot ceea ce am făcut-o 364 00:21:39,510 --> 00:21:42,830 și crearea noii Imaginea pe baza acestei. 365 00:21:42,830 --> 00:21:47,080 366 00:21:47,080 --> 00:21:52,560 >> Nu am de gând să vorbesc despre tar, dar există un fel puteți obține o singură, 367 00:21:52,560 --> 00:21:58,200 a crea un singur, sau de a face un singur imagine strat folosind arhive tar. 368 00:21:58,200 --> 00:22:02,650 Ceea ce am de gând să vorbesc despre asta și ceea ce este cel mai des folosit astăzi, 369 00:22:02,650 --> 00:22:03,270 este Dockerfile. 370 00:22:03,270 --> 00:22:07,260 Care este primul punct de vedere tehnic pas automat de Docker sine. 371 00:22:07,260 --> 00:22:11,920 Deci Dockerfiles sunt lucruri pe care sunteți vom vedea într-o mulțime de operațiuni repo github 372 00:22:11,920 --> 00:22:13,150 astăzi. 373 00:22:13,150 --> 00:22:16,420 Este practic doar un fișier text care descrie 374 00:22:16,420 --> 00:22:19,780 exact cum să construiască o imagine. 375 00:22:19,780 --> 00:22:25,540 >> Și pentru fiecare linie, se creează de fapt container, executa această linie, 376 00:22:25,540 --> 00:22:30,480 angajează că într-un container noua imagine, și tu, practic, 377 00:22:30,480 --> 00:22:36,160 l utilizați pentru toate operațiunile ulterioare până când ajunge la ultima imagine. 378 00:22:36,160 --> 00:22:39,260 Care este, în principiu Scopul final aici, la sfârșitul. 379 00:22:39,260 --> 00:22:42,420 Și după ce exec-- după ce scrie Dockerfile ta, care 380 00:22:42,420 --> 00:22:46,750 este pur în text, faci un Docker construi și numele imaginii. 381 00:22:46,750 --> 00:22:50,000 >> Și tu punct la care aceasta este în cazul în care Dockerfile este la. 382 00:22:50,000 --> 00:22:56,570 Și vă puteți aștepta pentru a vedea imaginea mea ca o imagine care aveți la nivel local. 383 00:22:56,570 --> 00:22:59,100 Așa că e doar un vizual exemplu de ceea ce se întâmplă. 384 00:22:59,100 --> 00:23:00,820 Începi cu o imagine de bază. 385 00:23:00,820 --> 00:23:05,150 Aveți o că într-un recipient care nu modifică imaginea de bază în sine. 386 00:23:05,150 --> 00:23:08,310 Dar creează în schimb un rescrie strat pe partea de sus a acesteia 387 00:23:08,310 --> 00:23:10,340 în cazul în care face schimbări, în care comite 388 00:23:10,340 --> 00:23:15,050 și repetați procesul până vei ajunge la imaginea finală. 389 00:23:15,050 --> 00:23:20,980 >> Și de a face acest lucru, orice alt construi proces poate folosi aceleași straturi 390 00:23:20,980 --> 00:23:23,870 și same-- practic Docker cache aceste straturi. 391 00:23:23,870 --> 00:23:30,040 Așa că, dacă fac același lucru exact proces, dar în loc de a instala PHP, 392 00:23:30,040 --> 00:23:31,540 Am instala Python. 393 00:23:31,540 --> 00:23:34,210 Se va folosi Apache și Ubuntu. 394 00:23:34,210 --> 00:23:39,570 Deci în acest fel te folosind disk. 395 00:23:39,570 --> 00:23:42,330 Este utilizarea cache și imagini disponibile acolo. 396 00:23:42,330 --> 00:23:45,320 397 00:23:45,320 --> 00:23:48,840 >> Piesa finală este Registry, care este modul în care distribuiți imagini. 398 00:23:48,840 --> 00:23:52,710 Și, după cum am menționat mai devreme, există o versiune nor de ea, 399 00:23:52,710 --> 00:23:54,290 care este Docker Hub. 400 00:23:54,290 --> 00:23:57,550 Puteți merge și de a explora o mulțime de, practic 401 00:23:57,550 --> 00:24:04,900 este un produs care publică SAS puteți încă imagini privat, 402 00:24:04,900 --> 00:24:06,590 dar există o mulțime de imagini publice. 403 00:24:06,590 --> 00:24:10,580 Este de fapt nelimitat, puteți împinge imagini publice nelimitate acolo. 404 00:24:10,580 --> 00:24:13,730 Și acest lucru este modul în care puteți colabora cu echipa ta. 405 00:24:13,730 --> 00:24:17,159 >> Puteți doar să le arate la tine repo si ei pot sau imaginea sa descarcati 406 00:24:17,159 --> 00:24:18,200 și pot descărca. 407 00:24:18,200 --> 00:24:21,140 408 00:24:21,140 --> 00:24:24,990 Deci, destul cu discuția. 409 00:24:24,990 --> 00:24:29,110 Cine vrea să vadă niște demo-uri foarte repede? 410 00:24:29,110 --> 00:24:31,330 In regula. 411 00:24:31,330 --> 00:24:34,050 Deci, aici am. 412 00:24:34,050 --> 00:24:37,480 Ca voi vedea ecranul meu? 413 00:24:37,480 --> 00:24:38,390 In regula. 414 00:24:38,390 --> 00:24:45,810 >> Deci, am Docker rulează aici, asa ca am poate verifica it's-- Aceasta este versiunea 415 00:24:45,810 --> 00:24:47,510 de Docker care rulează. 416 00:24:47,510 --> 00:24:49,320 Pot face info Docker. 417 00:24:49,320 --> 00:24:55,730 Verificați toate informațiile cu privire la cât de multe imaginile pe care le au, și așa mai departe și așa mai departe. 418 00:24:55,730 --> 00:24:58,890 Docker PS, nu e nimic de rulare. 419 00:24:58,890 --> 00:25:00,570 Concatenate cele. 420 00:25:00,570 --> 00:25:06,370 >> Deci, primul lucru pe care vreau să faceți este să spectacol vă cum puteți rula cu ușurință un container. 421 00:25:06,370 --> 00:25:09,350 Deci frumusețea despre Alerga medic, în cazul în care de fapt 422 00:25:09,350 --> 00:25:14,700 nu găsi o imagine la nivel local, în mod implicit se vorbește de Doctor Hub 423 00:25:14,700 --> 00:25:17,240 și încearcă să-l găsească acolo și descărcări pentru tine. 424 00:25:17,240 --> 00:25:22,820 Deci, aceasta include un Docker trage comanda, in mod natural. 425 00:25:22,820 --> 00:25:26,130 >> Deci, dacă am face o Docker run, salut lume. 426 00:25:26,130 --> 00:25:28,890 427 00:25:28,890 --> 00:25:31,200 Deci, în primul rând se va pentru a încerca să-l localizeze. 428 00:25:31,200 --> 00:25:36,140 În caz contrar, după cum puteți vedea aici, nu a putut găsi pe plan local. 429 00:25:36,140 --> 00:25:41,830 Acum doar tras două straturi care a făcut această imagine și am fugit. 430 00:25:41,830 --> 00:25:45,440 -Lume salut este doar practic ieșiri, ceea ce au făcut. 431 00:25:45,440 --> 00:25:47,680 Deci aceasta este cea mai ușoară, unul cele mai simple exemple. 432 00:25:47,680 --> 00:25:53,840 Deci, de fapt, doar am fugit și încheiată containerul foarte repede. 433 00:25:53,840 --> 00:25:59,500 >> Dacă vreau să run-- și de modul în care, în cazul în Vreau să timp în care, doar ca să știi, 434 00:25:59,500 --> 00:26:03,572 acest lucru este cât de mult timp este nevoie pentru a de spin de fapt, și conțin o. 435 00:26:03,572 --> 00:26:05,030 Suntem o măsurare în milisecunde. 436 00:26:05,030 --> 00:26:10,600 Astfel încât să puteți vedea cât de mult acest lucru poate ajuta de fapt, nu numai în testare, 437 00:26:10,600 --> 00:26:13,200 dar, de asemenea, chiar de implementare. 438 00:26:13,200 --> 00:26:17,221 Deci asta este o notă de rapid pe care. 439 00:26:17,221 --> 00:26:18,970 Urmatorul lucru sunt de gând să faci este de fapt 440 00:26:18,970 --> 00:26:21,930 rula o imagine l-am pregătit deja. 441 00:26:21,930 --> 00:26:24,460 Deci, docher alerga. 442 00:26:24,460 --> 00:26:27,240 -d este doar un steag pentru a spune l să ruleze în fundal. 443 00:26:27,240 --> 00:26:30,290 Și -p atribuie anumite porturi. 444 00:26:30,290 --> 00:26:32,670 Pentru că de implicit, containere sunt izolate, 445 00:26:32,670 --> 00:26:36,080 deci va trebui să specificați exact cum le pot accesa. 446 00:26:36,080 --> 00:26:41,150 Și în acest caz, eu spun Docker pentru a mapa un port aleator pe gazdă 447 00:26:41,150 --> 00:26:44,560 la un port specificat în containerului. 448 00:26:44,560 --> 00:26:47,130 449 00:26:47,130 --> 00:26:56,460 Și asta e de fapt în cazul în care image-- Sperăm că acest lucru este cel potrivit. 450 00:26:56,460 --> 00:27:01,780 >> Deci, ce face descărcări paralele fiecare de acele straturi după cum puteți vedea aici. 451 00:27:01,780 --> 00:27:06,949 Acestea sunt de straturile face imaginea final pe care am construit. 452 00:27:06,949 --> 00:27:08,115 O să ia un al doilea. 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 >> Deci, acum, dacă am face o PS docher, aș vezi ceva care se execută. 456 00:27:16,590 --> 00:27:22,250 Ar trebui să văd ID-ul, imaginea că acest lucru a fost bazat pe, 457 00:27:22,250 --> 00:27:23,880 și comanda care a fost executat. 458 00:27:23,880 --> 00:27:28,720 Și modul de accesare este practic te duci la acel port. 459 00:27:28,720 --> 00:27:33,240 Deci, am de gând să merg sa-- acest e că sunt o rulează pe AWS. 460 00:27:33,240 --> 00:27:37,150 Am de gând să merg la 32,769. 461 00:27:37,150 --> 00:27:37,650 Oops. 462 00:27:37,650 --> 00:27:40,495 463 00:27:40,495 --> 00:27:41,120 Și aici vom merge. 464 00:27:41,120 --> 00:27:44,550 >> Deci, aceasta este de fapt doar un serviciu web care arată 465 00:27:44,550 --> 00:27:46,240 care container este fiind servit la. 466 00:27:46,240 --> 00:27:50,450 Deci, puteți vedea că face parte din container a9f. 467 00:27:50,450 --> 00:27:52,850 Și aici este Numele containerului. 468 00:27:52,850 --> 00:27:56,550 Deci, voi puteti vedea cât de repede se a fost de fapt de a trage nu numai, ci și 469 00:27:56,550 --> 00:28:00,440 implementa acest container. 470 00:28:00,440 --> 00:28:05,070 >> Acum următorul pas este de a uite în Dockerfiles 471 00:28:05,070 --> 00:28:09,430 și cum o putem de fapt construi noi imagini. 472 00:28:09,430 --> 00:28:15,250 Mă duc să iau clona, ​​un eșantion Dockerfile bazat pe mai devreme 473 00:28:15,250 --> 00:28:17,755 diagrama, cel de a Apache și PHP. 474 00:28:17,755 --> 00:28:26,740 475 00:28:26,740 --> 00:28:28,140 Sperăm că îmi amintesc repo meu. 476 00:28:28,140 --> 00:28:36,410 477 00:28:36,410 --> 00:28:38,750 >> Așa că am depozit mea acum. 478 00:28:38,750 --> 00:28:43,080 Și ai de gând să vezi acest mult de fapt. 479 00:28:43,080 --> 00:28:45,110 Nu am instalat copac. 480 00:28:45,110 --> 00:28:48,700 >> Deci, practic veti vedea cum documentația cod sursă în jurul valorii de 481 00:28:48,700 --> 00:28:51,240 l, iar apoi o Dockerfile pe cum să-l pachet de fapt. 482 00:28:51,240 --> 00:28:57,970 Deci e doar o mostră PHP care ecouri salut CS50. 483 00:28:57,970 --> 00:29:01,550 >> Deci, dacă vreau să îl rulați, Voi face docher construi. 484 00:29:01,550 --> 00:29:03,370 Trebuie să-l construiască mai întâi. 485 00:29:03,370 --> 00:29:12,420 Am de gând să-l numească demo_cs50. 486 00:29:12,420 --> 00:29:16,470 Și ai nevoie de un tag de prea. 487 00:29:16,470 --> 00:29:19,802 Deci, haideți să numim V1 dot. 488 00:29:19,802 --> 00:29:21,760 Deci, așa cum am descris mai devreme, ceea ce fac azi 489 00:29:21,760 --> 00:29:26,840 este să spun Docker să meargă utilizare that-- de fapt, îmi pare rău, greșeala mea. 490 00:29:26,840 --> 00:29:29,450 491 00:29:29,450 --> 00:29:32,500 Noi nu a luat o privire la Dockerfile sine. 492 00:29:32,500 --> 00:29:39,020 Deci, singurele lucruri de aici sunt index.php precum și fișierul readme 493 00:29:39,020 --> 00:29:39,810 și un Dockerfile. 494 00:29:39,810 --> 00:29:44,600 >> Deci, dacă aruncăm o privire la Dockerfile, asa ca este 495 00:29:44,600 --> 00:29:47,150 foarte similar cu ceea ce Am descris mai devreme. 496 00:29:47,150 --> 00:29:51,220 E doar o grămadă de măsuri care Docker execută 497 00:29:51,220 --> 00:29:56,330 prin crearea și rupere jos containere şi [? numărare?] ele într-o imagine. 498 00:29:56,330 --> 00:29:59,570 >> Și, practic puteți see-- [inaudibil] ea here-- 499 00:29:59,570 --> 00:30:04,340 dar acest lucru este de la repo locale. 500 00:30:04,340 --> 00:30:06,410 Se va merge și apuca index.php. 501 00:30:06,410 --> 00:30:10,970 Deci, asta e codul sursă numai că sunt de fapt parte a cererii dumneavoastră. 502 00:30:10,970 --> 00:30:16,800 Toate acestea sunt în esență Sisteme tehnica de operare, 503 00:30:16,800 --> 00:30:21,460 obtinerea pachetele potrivite și Apache, PHP și, și fleacuri. 504 00:30:21,460 --> 00:30:26,950 Dar acest lucru este de a lua de fapt index.php și comiterea acestora in conteinerul, 505 00:30:26,950 --> 00:30:28,210 în imaginea. 506 00:30:28,210 --> 00:30:33,120 >> Deci, dacă te duci mai departe și a alerga comandă de a face următoarele, 507 00:30:33,120 --> 00:30:36,155 este de fapt going--, acest lucru ar putea dura un pic. 508 00:30:36,155 --> 00:30:40,870 509 00:30:40,870 --> 00:30:42,455 Să sperăm că nu ia prea mult timp. 510 00:30:42,455 --> 00:30:45,129 511 00:30:45,129 --> 00:30:46,170 Deci, puteți vedea pașii. 512 00:30:46,170 --> 00:30:49,320 Și eu vă încurajez să mergeți înapoi acasă astăzi și încercați să-l. 513 00:30:49,320 --> 00:30:51,280 Și Mano va descrie cum anume faci asta. 514 00:30:51,280 --> 00:30:57,810 Dar e foarte mare pentru a vedea exact ce se întâmplă în spatele scenei. 515 00:30:57,810 --> 00:31:02,420 Dar e ridicol de ușor de a construi imagini și să le implementeze cu ajutorul Docker. 516 00:31:02,420 --> 00:31:12,170 517 00:31:12,170 --> 00:31:14,050 >> Durează un pic mai mult decât m-am așteptat. 518 00:31:14,050 --> 00:31:29,085 519 00:31:29,085 --> 00:31:32,690 >> Să vedem ce se întâmplă atunci când Tu-- răcească. 520 00:31:32,690 --> 00:31:36,260 Deci, după cum puteți vedea, fiecare dintre aceste etape reprezintă linii în Dockerfile. 521 00:31:36,260 --> 00:31:42,570 Și arată că aici construit cu succes această imagine. 522 00:31:42,570 --> 00:31:46,480 >> Deci, dacă fac imagini docher, am de gând să vezi toate imaginile pe care le am la nivel local. 523 00:31:46,480 --> 00:31:52,160 Și unul dintre ei se numește meu numele de utilizator, precum și numele a imaginii, 524 00:31:52,160 --> 00:31:56,050 și representing-- tag în principal este o etichetă versiune. 525 00:31:56,050 --> 00:31:58,040 >> Deci, acum, dacă vreau să rulați ea, am alerga docher. 526 00:31:58,040 --> 00:32:06,040 527 00:32:06,040 --> 00:32:14,960 Și vreau doar să fac un -P -d. Face V1. 528 00:32:14,960 --> 00:32:18,500 Deci, eu pot vedea acum că am două containere de funcționare, cel care tocmai am 529 00:32:18,500 --> 00:32:21,230 a creat și Hello Docker unul care am primit ultima. 530 00:32:21,230 --> 00:32:24,320 >> Și puteți vedea aici că atribuie un alt port. 531 00:32:24,320 --> 00:32:30,710 Deci, dacă mă duc la acelasi IP, dar atribuie un port-- diferit Să sperăm că nu am făcut-o. 532 00:32:30,710 --> 00:32:33,060 Deci, acum acest lucru este aplicație care tocmai am implementat. 533 00:32:33,060 --> 00:32:35,980 534 00:32:35,980 --> 00:32:43,900 >> Dacă vreau să fac schimbări, am poate edita rapid codul sursă 535 00:32:43,900 --> 00:32:49,050 și de a face următoarele. 536 00:32:49,050 --> 00:32:55,170 Să facem salut Harvard. 537 00:32:55,170 --> 00:32:57,989 Deci, acum ce se întâmplă să se întâmple este că eu sunt 538 00:32:57,989 --> 00:32:59,905 gând să-l eticheta cu un diferite version-- oh, 539 00:32:59,905 --> 00:33:03,080 acest lucru nu-l eticheta guy-- cu o altă versiune. 540 00:33:03,080 --> 00:33:05,735 Și ai de gând să see-- face voi aștepta 541 00:33:05,735 --> 00:33:11,020 să ia aceeași cantitate de timp să-l construiască a doua oară sau nu? 542 00:33:11,020 --> 00:33:14,470 Bine, și oricine știe de ce? 543 00:33:14,470 --> 00:33:15,020 Vorbeste. 544 00:33:15,020 --> 00:33:16,350 >> Audiența: [inaudibil] 545 00:33:16,350 --> 00:33:19,830 >> NICOLA Kabar: Este practic ne doar schimba una dintre etapele ulterioare. 546 00:33:19,830 --> 00:33:23,110 Și, prin urmare, o să utilizați cache și de a folosi fiecare dintre aceste straturi. 547 00:33:23,110 --> 00:33:27,080 Și care este cu adevărat o parte din caracteristici criminal de Docker 548 00:33:27,080 --> 00:33:32,930 este modul în care utilizează de fapt și reutilizări preluarea 549 00:33:32,930 --> 00:33:36,950 disk pentru același piese exacte de informații. 550 00:33:36,950 --> 00:33:40,700 >> Deci, dacă vom face același lucru, a fost nevoie de doar câteva secunde. 551 00:33:40,700 --> 00:33:48,860 Dacă vrem să redeploy-- asa ca acum Am ar trebui să aibă trei containere. 552 00:33:48,860 --> 00:33:56,160 Dar aceasta este în curs de servit pe the-- șapte unul. 553 00:33:56,160 --> 00:33:58,860 Deci, acum este al treilea container. 554 00:33:58,860 --> 00:34:02,580 Toată lumea înțelege ce am făcut aici? 555 00:34:02,580 --> 00:34:06,320 >> Deci, acum, dacă doriți să partajați această container repede cu prietenii tăi, 556 00:34:06,320 --> 00:34:14,840 puteți face doar docher împingeți Numele containerului, sperăm. 557 00:34:14,840 --> 00:34:20,130 Deci, acum o să-l împingă sa-- Eu nu semnat aici. 558 00:34:20,130 --> 00:34:33,511 559 00:34:33,511 --> 00:34:34,219 Îmi pare rău pentru asta. 560 00:34:34,219 --> 00:34:39,219 Dar eu nu am de gând depana această acum. 561 00:34:39,219 --> 00:34:42,780 Dar în esență că o comandă este doar merge în sus împingeți-l. 562 00:34:42,780 --> 00:34:45,670 Și ai de gând să fie în măsură să l vezi dacă te duci la Docker Hub 563 00:34:45,670 --> 00:34:48,587 Și vă conectați, esti va fi capabil să-l vadă. 564 00:34:48,587 --> 00:34:50,420 Și apoi puteți doar punctul oricine se întâmplă 565 00:34:50,420 --> 00:34:52,750 de a folosi imaginea pentru a merge și trageți-l. 566 00:34:52,750 --> 00:34:55,460 Si ei pot folosi. 567 00:34:55,460 --> 00:34:57,760 >> Cu asta, sperăm Am facut un fel de demonstrat 568 00:34:57,760 --> 00:35:01,230 cât de ușor este de a lucra cu Docker. 569 00:35:01,230 --> 00:35:06,610 Și eu doar de gând să da-l înapoi la Mano. 570 00:35:06,610 --> 00:35:11,760 Și el va lua o de aici. 571 00:35:11,760 --> 00:35:13,990 >> MANO MARKS: Bine Mulțumesc, mulțumesc Nico. 572 00:35:13,990 --> 00:35:18,700 573 00:35:18,700 --> 00:35:20,614 Şi ce dacă? 574 00:35:20,614 --> 00:35:24,410 Deci, unul din lucrurile pe care le a vrut să facă este pus împreună 575 00:35:24,410 --> 00:35:28,820 de ce acest lucru este un important-- de ce și de ce Docker 576 00:35:28,820 --> 00:35:33,000 containere sunt astfel de noi de dezvoltare importante, 577 00:35:33,000 --> 00:35:36,890 un nou mod de a face de fapt software. 578 00:35:36,890 --> 00:35:41,300 >> Și înainte să fac, am de gând să doar să introducă câteva statistici. 579 00:35:41,300 --> 00:35:42,790 Eu nu am de gând să citească toate acestea. 580 00:35:42,790 --> 00:35:52,540 Dar acest lucru vă arată o mulțime de lucruri despre modul în care populară acest lucru este în comunitate. 581 00:35:52,540 --> 00:35:56,310 Miezul tehnologii Docker sunt open source. 582 00:35:56,310 --> 00:36:03,560 Deci asta e Docker Motor, Compose, Roi, o grămadă de alte chestii 583 00:36:03,560 --> 00:36:05,210 este tot open source. 584 00:36:05,210 --> 00:36:10,590 Și avem, ceea ce am făcut spune, 1.300 contribuabili. 585 00:36:10,590 --> 00:36:15,630 Ce vezi acum, dacă te uiți la Numărul de locuri de muncă deschideri, ultima dată 586 00:36:15,630 --> 00:36:19,640 ne-am uitat, a fost vorba despre 43.000 de locuri de muncă deschideri menționând în mod special 587 00:36:19,640 --> 00:36:22,230 familiarizarea cu Docker. 588 00:36:22,230 --> 00:36:26,450 Sute de milioane de imagini au A fost descărcat de Docker Hub. 589 00:36:26,450 --> 00:36:31,870 Și, ei bine, statistici mult mai mari. 590 00:36:31,870 --> 00:36:34,770 >> Pentru cei care sunt curioși, ea a fost scrisă inițial în Python 591 00:36:34,770 --> 00:36:37,730 și apoi rescrise în Go. 592 00:36:37,730 --> 00:36:40,320 Și a fost doar deschide source-- e doar 593 00:36:40,320 --> 00:36:44,950 fost eliberate timp de aproximativ 2 și 1/2 ani, ceea ce înseamnă că, în 2 și 1/2 ani, 594 00:36:44,950 --> 00:36:48,020 am văzut o cantitate enorma de creștere și importanță 595 00:36:48,020 --> 00:36:50,190 de acest lucru în cadrul Comunității. 596 00:36:50,190 --> 00:36:52,400 Și așa vreau să vorbesc un pic de ce. 597 00:36:52,400 --> 00:36:54,940 598 00:36:54,940 --> 00:36:59,880 >> Deci, doar pentru a reitera unele dintre Puncte-cheie Nico lui, Docker este rapid. 599 00:36:59,880 --> 00:37:00,630 Este portabil. 600 00:37:00,630 --> 00:37:02,500 Acesta este reproductibilă. 601 00:37:02,500 --> 00:37:06,130 Și stabilește un standard de mediu. 602 00:37:06,130 --> 00:37:13,370 >> Și acest lucru este what-- nasol meu depistarea monoliți slide-- ce 603 00:37:13,370 --> 00:37:17,990 se ajuta oamenii fac, care o mulțime de industria de software 604 00:37:17,990 --> 00:37:21,400 a inceput cauta in începutul anilor 2000, este în mișcare 605 00:37:21,400 --> 00:37:24,200 din aceste monolit aplicații unice 606 00:37:24,200 --> 00:37:28,590 unde fiecare dependență a trebuit să fie testate înainte întreaga aplicația avut 607 00:37:28,590 --> 00:37:31,280 să fie desfășurate, care ar putea însemna un site web 608 00:37:31,280 --> 00:37:36,240 doar am desfășurat o dată fiecare trei luni, sau mai mult, 609 00:37:36,240 --> 00:37:42,650 la un serviciu mult mai arhitectura orientata 610 00:37:42,650 --> 00:37:46,090 sau de tip modular diferite de arhitectura aplicare. 611 00:37:46,090 --> 00:37:48,610 Și permițând astfel acestea fel de arhitecturi 612 00:37:48,610 --> 00:37:52,250 care profita de Docher pentru a rula în aceste trei 613 00:37:52,250 --> 00:37:58,450 domenii principale de dezvoltare, care este dezvoltarea scris codul actual, 614 00:37:58,450 --> 00:38:00,140 testarea codul, și implementarea acesteia. 615 00:38:00,140 --> 00:38:03,000 616 00:38:03,000 --> 00:38:05,420 >> Deci, de ce este important acest lucru? 617 00:38:05,420 --> 00:38:09,920 Daca esti un-- permiteți-mi să dau un exemplu. 618 00:38:09,920 --> 00:38:13,600 Dacă sunteți un site web dispozitiv dezvoltator, ești 619 00:38:13,600 --> 00:38:19,020 dezvoltarea unui site web care este bazat pe baza de date care David a produs aici. 620 00:38:19,020 --> 00:38:20,490 Îmi pare rău David, te cheamă. 621 00:38:20,490 --> 00:38:22,984 622 00:38:22,984 --> 00:38:24,900 Dacă ați fi dorit să implementați totul, ai 623 00:38:24,900 --> 00:38:28,870 trebuie să aștepte în cadrul unui tradițional dezvoltare de software monolit 624 00:38:28,870 --> 00:38:32,710 mediu, ai avea să așteptați până când a fost făcut cu baza de date 625 00:38:32,710 --> 00:38:36,030 înainte de ai putea face de fapt orice modificare a site-ului. 626 00:38:36,030 --> 00:38:40,900 Ar trebui să reimplementați întreaga cerere a face acest lucru. 627 00:38:40,900 --> 00:38:45,490 >> Și ce Docker te ajută să faci este fiecare lucru persoană pe diferite componente 628 00:38:45,490 --> 00:38:52,990 și le actualizează ca se duc, doar ceea ce face sigur că interfețele rămâne la fel. 629 00:38:52,990 --> 00:38:56,350 Deci, ceea ce a făcut este este mutat oameni 630 00:38:56,350 --> 00:39:03,950 de la a face aceste monolit masiv software-ul proiectat ca 631 00:39:03,950 --> 00:39:07,610 desfășurate în fiecare lună la un continuu integrare și dezvoltare continuă 632 00:39:07,610 --> 00:39:08,490 mediu. 633 00:39:08,490 --> 00:39:12,580 >> Acum, acest lucru nu este unic pentru Docker, dar Docker face atât de mult mai ușor, 634 00:39:12,580 --> 00:39:16,620 ceea ce înseamnă că ești de fapt în mod constant implementarea. 635 00:39:16,620 --> 00:39:20,690 Vorbim întreprinderilor care sunt implementarea aplicațiilor fața orientată publice 636 00:39:20,690 --> 00:39:30,180 de mii de ori pe zi, deoarece ei văd valoarea în doar face 637 00:39:30,180 --> 00:39:33,740 mici modificări, și, atâta timp deoarece trece prin teste, 638 00:39:33,740 --> 00:39:35,900 lăsa să iasă în producție. 639 00:39:35,900 --> 00:39:41,890 Nico a fost întotdeauna mi-a spus mai devreme că, în multe medii, 640 00:39:41,890 --> 00:39:46,580 ciclul de viață al unui standard de container se măsoară în secunde, 641 00:39:46,580 --> 00:39:50,460 întrucât o mașină virtuală ar putea fi măsurată în luni. 642 00:39:50,460 --> 00:39:54,590 643 00:39:54,590 --> 00:39:58,690 >> Am vrut să iau o ușoară rândul său, pentru că sunt aici 644 00:39:58,690 --> 00:40:00,170 la o instituție de învățământ. 645 00:40:00,170 --> 00:40:06,670 Am vrut să dau un exemplu de cum acest lucru funcționează într-o cercetare de invatamant 646 00:40:06,670 --> 00:40:07,670 situaţie. 647 00:40:07,670 --> 00:40:10,930 Deci există o organizație numite bioboxes. 648 00:40:10,930 --> 00:40:15,450 Bioboxes face ADN-ul analiză pentru cercetători. 649 00:40:15,450 --> 00:40:22,029 >> Acum ceea ce au descoperit a fost ca, atunci cand un researcher-- iar acest lucru nu este 650 00:40:22,029 --> 00:40:24,070 din vina un anumit researcher-- dar atunci când 651 00:40:24,070 --> 00:40:31,240 un cercetator desfășurat un algoritm pentru a analiza, 652 00:40:31,240 --> 00:40:36,670 În mod deosebit, o mostră de ADN, ei ar scrie software-ul, 653 00:40:36,670 --> 00:40:39,980 publica care, poate să GitHub sau în altă parte, 654 00:40:39,980 --> 00:40:42,680 iar apoi au terminat. 655 00:40:42,680 --> 00:40:47,440 >> Ei bine, problema a fost că nu a fost neapărat reproductibil. 656 00:40:47,440 --> 00:40:51,610 Pentru că, în scopul de a înțelege software-ul, 657 00:40:51,610 --> 00:40:54,830 acestea vor fi stabilite pentru mediu de dezvoltare exactă 658 00:40:54,830 --> 00:41:00,460 că această cercetător folosit, de obicei, laptop lor, sau un server, sau un de date 659 00:41:00,460 --> 00:41:04,280 centru care au folosit. 660 00:41:04,280 --> 00:41:11,530 Și, în consecință, a fost foarte dificil de a reproduce rezultatele cercetării atunci când 661 00:41:11,530 --> 00:41:16,910 analiza mostre de ADN pentru a căuta la lucruri, cum ar fi incidence-- 662 00:41:16,910 --> 00:41:23,830 compara incidenta de atacuri de inima bazată pe anumite gene fiind prezent, 663 00:41:23,830 --> 00:41:28,900 de exemplu, sau riscul de cancer, sau oricare dintre celelalte tipuri de lucruri. 664 00:41:28,900 --> 00:41:33,900 >> Deci, în loc ceea ce au făcut a fost au început crearea de containere. 665 00:41:33,900 --> 00:41:39,380 Si puteti merge la bioboxes.org, este o organizație mare. 666 00:41:39,380 --> 00:41:43,900 Și ceea ce fac ei este ca ei produc containerele bazate pe cercetare. 667 00:41:43,900 --> 00:41:46,840 Și apoi ori de câte ori cineva trimite în proba lor, ei pot rula. 668 00:41:46,840 --> 00:41:52,770 Si are toate mediului necesar pentru a rula că algoritmul 669 00:41:52,770 --> 00:41:55,370 și să producă rezultate. 670 00:41:55,370 --> 00:41:58,250 Și ei au constatat ca acestea sunt mult mai probabil și mai mult 671 00:41:58,250 --> 00:42:01,300 mai repede capabil să returna rezultate la oameni. 672 00:42:01,300 --> 00:42:06,860 >> Și, de fapt, ceea ce oamenii fac se execută propria lor analiză ADN-ului, 673 00:42:06,860 --> 00:42:11,220 trimiterea că, în a bioboxes, și apoi biobox durează doar datele, 674 00:42:11,220 --> 00:42:15,350 ruleaza împotriva soiul recipiente de diferite 675 00:42:15,350 --> 00:42:19,030 pentru a vedea rezultate diferite bazate pe cercetare diferite. 676 00:42:19,030 --> 00:42:21,860 Deci, este un foarte puternic mod în care cercetătorii 677 00:42:21,860 --> 00:42:28,070 poate face un singur exemplu care să permită alte persoane pentru a încerca și de a reproduce 678 00:42:28,070 --> 00:42:28,650 rezultatele. 679 00:42:28,650 --> 00:42:31,710 680 00:42:31,710 --> 00:42:34,360 >> Deci, cum să începeți? 681 00:42:34,360 --> 00:42:37,950 682 00:42:37,950 --> 00:42:39,800 Suntem bine sprijinite pe Linux. 683 00:42:39,800 --> 00:42:43,070 Deci, dacă doriți să instalați nimic pe Linux, 684 00:42:43,070 --> 00:42:45,620 utilizați standardul managerul de pachete pentru a instala. 685 00:42:45,620 --> 00:42:47,600 Dacă utilizați un Debian, e get apt. 686 00:42:47,600 --> 00:42:50,500 CentOS este yum. 687 00:42:50,500 --> 00:42:53,500 Fedora Red Hat este rpm-- Nu-mi amintesc. 688 00:42:53,500 --> 00:42:56,070 Oricum, totul e acolo. 689 00:42:56,070 --> 00:42:59,610 Sprijinim o mare varietate de distribuții Linux. 690 00:42:59,610 --> 00:43:01,150 Puteți verifica cele afară. 691 00:43:01,150 --> 00:43:06,370 >> Avem, de asemenea opțiuni, astfel încât să ar putea rula pe Mac sau Windows. 692 00:43:06,370 --> 00:43:10,670 Acum Nico menționat mai devreme că a fost acceptată numai pe Linux. 693 00:43:10,670 --> 00:43:18,180 Asta e adevărat, pentru că are nevoie de un kernel Linux. 694 00:43:18,180 --> 00:43:20,540 Dar, puteți rula într-o mașină virtuală. 695 00:43:20,540 --> 00:43:25,290 Și ceea ce Docker Toolbox nu, pe care o puteți descărca, 696 00:43:25,290 --> 00:43:27,610 îți dă ca mașină virtuală. 697 00:43:27,610 --> 00:43:37,260 >> Deci, doar o scurtă 48 în al doilea rând, cred că, descărca. 698 00:43:37,260 --> 00:43:40,670 Trebuie doar sa cautati pe Docker Cutie de unelte, descărcați-l la Mac, 699 00:43:40,670 --> 00:43:43,910 și această parte este de Desigur accelerat deoarece care 700 00:43:43,910 --> 00:43:47,620 vrea sa ma uit la un semnal de descărcare? 701 00:43:47,620 --> 00:43:54,190 Standard de instalare Mac, și apoi ești 702 00:43:54,190 --> 00:43:59,795 O să văd Jerome pună în parola. 703 00:43:59,795 --> 00:44:00,670 Asta e foarte interesant. 704 00:44:00,670 --> 00:44:03,510 705 00:44:03,510 --> 00:44:06,230 Și apoi se instalează un grămadă de instrumente. 706 00:44:06,230 --> 00:44:10,010 Și în special se va instala o linie de comandă. 707 00:44:10,010 --> 00:44:14,220 Și apoi ai putea vedea Jerome testarea imaginile sale. 708 00:44:14,220 --> 00:44:19,050 709 00:44:19,050 --> 00:44:22,640 >> Și apoi pe această bază, puteți vedea că YouTube 710 00:44:22,640 --> 00:44:27,420 crede că Nico este interesat de Star Wars, Jimmy Kimmel spectacol, 711 00:44:27,420 --> 00:44:29,020 și cred că Ellen. 712 00:44:29,020 --> 00:44:34,130 Cred că ultima dintre ele este un clip de la un spectacol de Ellen. 713 00:44:34,130 --> 00:44:37,760 >> Deci, Docker Toolbox vine, deși cu mai mult decât mașină Docker. 714 00:44:37,760 --> 00:44:39,840 Deci Docker Masina este lucru care ajută 715 00:44:39,840 --> 00:44:43,710 să configurați un virtuală mașină pe Windows dumneavoastră 716 00:44:43,710 --> 00:44:52,080 sau Mac-- caseta de Windows sau Mac box-- și vă ajută să faci de provizionare, 717 00:44:52,080 --> 00:44:54,040 >> Dar, de asemenea, vine cu Swarm și compuneți, 718 00:44:54,040 --> 00:45:00,840 care sunt concepute pentru a vă ajuta să faceți mare implementările la scară cererii dumneavoastră. 719 00:45:00,840 --> 00:45:04,000 Deci, dacă doriți să gestionați clustere de noduri, 720 00:45:04,000 --> 00:45:08,450 grupuri de containere, compune și Swarm sunt mod de a merge despre asta. 721 00:45:08,450 --> 00:45:11,430 >> Și, desigur, vine cu Docker motorului și Kitematic, 722 00:45:11,430 --> 00:45:13,250 care este acest desktop GUI. 723 00:45:13,250 --> 00:45:17,060 Trebuie să menționez, de asemenea, Docker Registry, care nu este inclusă în Toolbox, 724 00:45:17,060 --> 00:45:23,150 dar este o modalitate de a rula propriul dvs. registre de docher Imagini cum ar fi Docker 725 00:45:23,150 --> 00:45:28,970 Hub, dar puteți, de asemenea, pur și simplu utiliza Docker Hub ca o modalitate de a face acest lucru. 726 00:45:28,970 --> 00:45:32,955 >> Și, complot poftă de mâncare, ce vezi se execută într-un container. 727 00:45:32,955 --> 00:45:34,830 Și așa suntem distribuirea diapozitive noastre. 728 00:45:34,830 --> 00:45:38,610 Toată prezentare este de fapt, o punte de diapozitive HTML. 729 00:45:38,610 --> 00:45:43,170 Și se execută într-un container, pe care o puteți obține by-- 730 00:45:43,170 --> 00:45:45,596 >> NICOLA Kabar: Da, așa e rulează cu normă întreagă pe Max meu. 731 00:45:45,596 --> 00:45:47,540 Și eu prezentarea de la ea. 732 00:45:47,540 --> 00:45:50,910 Și faci Docker după instalați Toolbox dumneavoastră. 733 00:45:50,910 --> 00:45:57,340 Puteți face doar o centrare docher și-l, și de a folosi diapozitive. 734 00:45:57,340 --> 00:45:58,830 >> MANO MĂRCI: Și asta e. 735 00:45:58,830 --> 00:46:02,160 Așa că am vă mulțumesc tuturor pentru venirea. 736 00:46:02,160 --> 00:46:03,990 Și suntem bucuroși să răspundă la întrebări. 737 00:46:03,990 --> 00:46:07,810 Ar trebui să menționez înainte de cineva frunze există T-shirt acolo. 738 00:46:07,810 --> 00:46:10,940 Ne pare rău cineva care se uita acest lucru pe Livestream sau video, 739 00:46:10,940 --> 00:46:12,820 dar avem docher tricouri acolo. 740 00:46:12,820 --> 00:46:16,250 Și știm studenți docher, și în experiența mea, 741 00:46:16,250 --> 00:46:18,940 profesori de asemenea, ca îmbrăcăminte gratuit. 742 00:46:18,940 --> 00:46:22,490 >> Deci vă mulțumesc tuturor pentru care ies. 743 00:46:22,490 --> 00:46:27,050 Și urmați-ne pe Twitter dacă vrei, sau nu. 744 00:46:27,050 --> 00:46:27,910 Nu-mi pasă. 745 00:46:27,910 --> 00:46:29,430 De asemenea urmați Docker pe Twitter. 746 00:46:29,430 --> 00:46:31,890 Asta e, de asemenea, interesant. 747 00:46:31,890 --> 00:46:32,990 Și apoi asta e. 748 00:46:32,990 --> 00:46:33,490 Docker.com. 749 00:46:33,490 --> 00:46:35,410 Multumesc. 750 00:46:35,410 --> 00:46:39,360 >> [APLAUZE] 751 00:46:39,360 --> 00:46:41,625