1 00:00:00,000 --> 00:00:05,042 >> [Muzika] 2 00:00:05,042 --> 00:00:06,000 DAVID Malan: Të gjithë të drejtë. 3 00:00:06,000 --> 00:00:07,630 Thank you so much për të ardhur. 4 00:00:07,630 --> 00:00:11,850 Kjo është CS50 seminar mbi Docker, a teknologji që ne vetë dhe CS50 5 00:00:11,850 --> 00:00:13,392 kanë filluar të përdorin për një kohë tani. 6 00:00:13,392 --> 00:00:15,766 Pra, emri im është David Malan, unë mësojnë Hyrje i Harvardit 7 00:00:15,766 --> 00:00:16,671 të Shkencave Kompjuterike. 8 00:00:16,671 --> 00:00:18,670 Për mjaft disa vite, ne kemi qenë duke i dhënë nxënësve 9 00:00:18,670 --> 00:00:20,435 shkarkohen klient-side makina virtuale 10 00:00:20,435 --> 00:00:22,134 në të cilën ata bëjnë problemeve grupe e tyre. 11 00:00:22,134 --> 00:00:24,300 Që kemi bartur tani në një mjedis Cloud 12 00:00:24,300 --> 00:00:27,396 që në fakt përdor këtë teknologji quajtur Docker, të tilla që të gjithë CS50 13 00:00:27,396 --> 00:00:29,270 Studentët tani kanë tyre kontejnerët vet Docker 14 00:00:29,270 --> 00:00:31,180 që ju së shpejti do të dëgjoni të gjithë rreth. 15 00:00:31,180 --> 00:00:33,740 >> Për më tepër, në serverin CS50 e grup anë, për shumë vite 16 00:00:33,740 --> 00:00:35,290 ne kemi qenë duke përdorur Cloud serverin Amazon. 17 00:00:35,290 --> 00:00:37,164 Ne ishim duke individ makina virtuale. 18 00:00:37,164 --> 00:00:40,330 Kjo shumë, ne kemi filluar të kalojnë në këto gjëra quajtur kontenierë Docker 19 00:00:40,330 --> 00:00:43,762 në mënyrë që të gjitha kërkesave tona janë tani izoluar perfekte nga njëra-tjetra. 20 00:00:43,762 --> 00:00:46,720 Kështu që për këtë dhe më shumë, më lejoni të prezantoj miqtë tanë, Nico dhe Mano, 21 00:00:46,720 --> 00:00:48,574 nga vetë Docker. 22 00:00:48,574 --> 00:00:49,740 Nicola Kabar: Faleminderit, David. 23 00:00:49,740 --> 00:00:51,410 Përshëndetje të gjithëve. 24 00:00:51,410 --> 00:00:54,230 Emri im është Nico dhe kjo është Mano. 25 00:00:54,230 --> 00:00:58,260 Ne jemi nga Docker. 26 00:00:58,260 --> 00:01:02,240 Ne jemi duke shkuar për të folur? Për duke ju djema një intro për Docker, 27 00:01:02,240 --> 00:01:08,100 dhe me shpresë, drejt përfundimit i kësaj bisede ju mund të realizojnë 28 00:01:08,100 --> 00:01:12,890 se sa ju mund të përdorni mjeku për oxalate zhvillimin e aplikimit tuaj 29 00:01:12,890 --> 00:01:14,200 dhe vendosjen. 30 00:01:14,200 --> 00:01:21,250 >> Pra, ne jemi duke shkuar për të nisem reale shpejtë me disa informata. 31 00:01:21,250 --> 00:01:22,750 Përshkruani se çfarë Docker është mbi të gjitha. 32 00:01:22,750 --> 00:01:25,490 Si punon? 33 00:01:25,490 --> 00:01:27,400 Si është ajo architected? 34 00:01:27,400 --> 00:01:29,360 Unë do të jetë duke bërë disa popull. 35 00:01:29,360 --> 00:01:35,070 Dhe Mano do të jetë përshkruan se si mund të përdorni Docker 36 00:01:35,070 --> 00:01:37,720 dhe duke ju dhënë hapat specifike si ju mund të merrni filluar. 37 00:01:37,720 --> 00:01:41,490 >> Unë do të vlerësoj nëse ju djema mund të mbajë off për pyetjet tuaja nga fundi. 38 00:01:41,490 --> 00:01:46,800 Në këtë mënyrë, unë mund të adresuar ato pyetje të gjithë prezantimit. 39 00:01:46,800 --> 00:01:52,150 Pra, ne do të lënë disa kohë në fund për pyetje. 40 00:01:52,150 --> 00:01:55,170 >> Pra, vetëm i vërtetë i shpejtë, i cili ka në fakt ka punuar ndonjëherë në Docker, 41 00:01:55,170 --> 00:01:56,850 si ka luajtur me të? 42 00:01:56,850 --> 00:01:58,000 Mbresëlënës. 43 00:01:58,000 --> 00:01:58,520 Ftohtë. 44 00:01:58,520 --> 00:01:59,817 I madh. 45 00:01:59,817 --> 00:02:01,525 Pra, unë jam duke shkuar për të filluar me disa histori. 46 00:02:01,525 --> 00:02:04,350 47 00:02:04,350 --> 00:02:09,820 Pra, përsëri në vitet '90 dhe fillim të viteve 2000, në thelb 48 00:02:09,820 --> 00:02:16,940 si web developers, zhvilluesit app, kur ata shkuan për të vendosur një kërkesë 49 00:02:16,940 --> 00:02:19,350 ajo ishte e lidhur për të zhveshur metalike. 50 00:02:19,350 --> 00:02:20,860 Ajo ishte një server. 51 00:02:20,860 --> 00:02:22,870 Ajo ishte një aplikim. 52 00:02:22,870 --> 00:02:25,260 >> Tradicionalisht, një shembull do të jetë si një pirg LAMP, 53 00:02:25,260 --> 00:02:30,630 ku ju në të vërtetë kishte për sjellë deri pishinë të burimeve. 54 00:02:30,630 --> 00:02:37,110 CPU, memorie, disk, rrjeti, instalimi Sistemi operativ në krye të kësaj. 55 00:02:37,110 --> 00:02:40,060 Nëse ju jeni duke shërbyer diçka, në qoftë se ju jeni në të vërtetë duke pasur web server, 56 00:02:40,060 --> 00:02:42,470 ju keni nevojë për diçka si Apache për të shërbyer atë. 57 00:02:42,470 --> 00:02:47,540 >> Nëse kërkesa juaj ka nevojë bazës së të dhënave, i pabesë, 58 00:02:47,540 --> 00:02:50,840 ju do të instaloni diçka si MySQL, dhe kështu me radhë. 59 00:02:50,840 --> 00:02:55,910 Dhe në qoftë se keni nevojë për kohë Run, PHPs dhe puna e PHP Python ishin atje. 60 00:02:55,910 --> 00:02:59,480 Dhe kështu ne fakt duhej të marrë këto hapa në mënyrë 61 00:02:59,480 --> 00:03:02,060 për të marrë e aplikimit tuaj dhe drejtimin. 62 00:03:02,060 --> 00:03:08,440 >> Nëse keni nevojë për më shumë pushtet llogaritin, ju në thelb kishte për të thirrur Ops djalë tuaj 63 00:03:08,440 --> 00:03:16,260 ose gal për të shkuar dhe raft deri një të ri pjesë e pajisjeve, lidhë atë, 64 00:03:16,260 --> 00:03:19,850 dhe ju keni për të përsëritur ato Proceset përsëri dhe përsëri. 65 00:03:19,850 --> 00:03:23,680 Pra, ky proces ishte relativisht të shtrenjta. 66 00:03:23,680 --> 00:03:26,080 Ishte patjetër shumë të ngadaltë. 67 00:03:26,080 --> 00:03:27,550 >> Ajo ishte joefikas. 68 00:03:27,550 --> 00:03:33,890 Dhe në shumë raste, juaj hardware u underutilized. 69 00:03:33,890 --> 00:03:38,830 Pra, në fund të viteve '90 'dhe fillim të viteve 2000, Virtualization hardware erdhën të gjithë. 70 00:03:38,830 --> 00:03:42,475 Dhe si ju mund të shihni këtu në foto, në thelb atë që ata vepruan 71 00:03:42,475 --> 00:03:46,390 është i përhumbur pishinë e burime të lirë hardware 72 00:03:46,390 --> 00:03:49,680 dhe lloji i shërbyer atyre në shtresat e sipërme, 73 00:03:49,680 --> 00:03:52,360 në këtë rast, një mysafir sistemit operativ. 74 00:03:52,360 --> 00:03:54,940 >> Dhe e gjithë ideja e makina virtuale erdhën të gjithë 75 00:03:54,940 --> 00:03:59,110 dhe që ndihmuan me të vërtetë Cloud informatikë siç e njohim ne sot. 76 00:03:59,110 --> 00:04:02,730 Pra, çfarë do të thotë kjo është që ju mund të kandidojë shumta VMS, i cili 77 00:04:02,730 --> 00:04:06,720 do të thotë paratë të shumta, të shumta Aplikimi në një makinë të njëjtë fizike. 78 00:04:06,720 --> 00:04:10,570 79 00:04:10,570 --> 00:04:16,440 >> Kjo i ndihmoi padyshim me Shpejtësia e vendosjes aplikimit. 80 00:04:16,440 --> 00:04:17,629 Definitely me shpenzimet. 81 00:04:17,629 --> 00:04:22,810 Ju nuk keni për të shkuar dhe të shpenzojnë energjisë, kohë dhe burime për të raft 82 00:04:22,810 --> 00:04:26,210 më shumë servera për të marrë në më shumë të llogaritin. 83 00:04:26,210 --> 00:04:30,950 Dhe shpejtësia e vërtetë të sjellë këto burime up është shumë më shpejt. 84 00:04:30,950 --> 00:04:31,450 I madh. 85 00:04:31,450 --> 00:04:34,320 >> Pra, ne zgjidhur urisë në botë, e drejtë? 86 00:04:34,320 --> 00:04:36,390 Jo, jo të vërtetë. 87 00:04:36,390 --> 00:04:42,410 Pra, Virtualization sa më shumë që është e ndihmoi në fakt, të trajtuar problemin, 88 00:04:42,410 --> 00:04:45,460 ai në fakt futi shumë sfida. 89 00:04:45,460 --> 00:04:49,210 Hypervisor definitivisht prezantuar një shumë prej kompleksitetit, 90 00:04:49,210 --> 00:04:53,820 trajtimin ato themelor pishinë të burimeve. 91 00:04:53,820 --> 00:04:57,910 >> Është e rëndë në kuptimin që para keni pasur një sistem të vetëm operativ që 92 00:04:57,910 --> 00:05:01,830 është si tre, katër koncerte në disk. 93 00:05:01,830 --> 00:05:04,230 Tani, në qoftë se ju keni 10 makina në një hardware të vetme 94 00:05:04,230 --> 00:05:09,060 ju duhet të shumohen atë me numrin e makina. 95 00:05:09,060 --> 00:05:11,440 Është patjetër më shumë shtrenjtë në një kuptim ju ende 96 00:05:11,440 --> 00:05:14,430 duhet të merrni licencimit për teknologji Virtualization 97 00:05:14,430 --> 00:05:18,210 nëse nuk është burim i hapur. 98 00:05:18,210 --> 00:05:21,120 >> Por, le të mos marrin të gjitha kredi nga Virtualization. 99 00:05:21,120 --> 00:05:27,530 Sepse ajo që ka ndodhur është se ka një shumë e oxhaqet dhe shumë të softuerit 100 00:05:27,530 --> 00:05:33,900 teknologjitë që janë të aktivizuara nga sa shpejt ju jeni në gjendje për të marrë 101 00:05:33,900 --> 00:05:38,040 të burimeve me bum Cloud. 102 00:05:38,040 --> 00:05:46,675 >> Pra, sot një aplikacion të vetëm ose shërbim mund të të jetë duke përdorur ndonjë nga runtimes vijim 103 00:05:46,675 --> 00:05:47,216 ose bazat e të dhënave. 104 00:05:47,216 --> 00:05:50,250 105 00:05:50,250 --> 00:05:56,070 PHP, Python, MySQL, Redis, gjësend. 106 00:05:56,070 --> 00:05:59,740 Pra, ka një shumë e kompleksitetit për këtë Numri i oxhaqet që në fakt të sjellë deri 107 00:05:59,740 --> 00:06:02,210 një shërbim i vetëm. 108 00:06:02,210 --> 00:06:07,300 Dhe së bashku me atë, keni pasur një shumë të Burimet themelore ose infrastruktura 109 00:06:07,300 --> 00:06:15,210 Lloje të provuar të vendosur dhe në thelb marrë me prodhimin ato aplikacione 110 00:06:15,210 --> 00:06:16,900 se ju jeni në zhvillim. 111 00:06:16,900 --> 00:06:21,950 >> Sidomos si ekipet tuaja kanë kultivuara duke punuar në ato Apps, 112 00:06:21,950 --> 00:06:25,310 ka një shumë të Kompleksiteti dhe sfidat 113 00:06:25,310 --> 00:06:31,660 që u sollën për të siguruar që cycle-- thelb aplikimi 114 00:06:31,660 --> 00:06:34,040 Cikli i zhvillimit, është fakt i suksesshëm. 115 00:06:34,040 --> 00:06:40,440 Pra, fakti që kërkesa juaj është duke punuar në nivel lokal në VM tuaj lokale 116 00:06:40,440 --> 00:06:47,480 nuk garanton se kolegut tuaj do të presim rezultate të njëjta. 117 00:06:47,480 --> 00:06:51,330 >> Dhe kur ekipi operacionet është të përfshirë në marrjen e atë që ju keni 118 00:06:51,330 --> 00:06:54,480 dhe vendosjen atë në prodhimin e shkallë, gjithashtu nuk ka asnjë garanci 119 00:06:54,480 --> 00:06:56,730 se kjo është në të vërtetë do të ndodhë. 120 00:06:56,730 --> 00:07:00,900 Pra, kjo na lë me një të vërtetë big-- shumë pikëpyetjeve, 121 00:07:00,900 --> 00:07:07,700 shumë sfida në fakt u përball në mënyrë të ngjashme përsëri në ditët. 122 00:07:07,700 --> 00:07:12,280 Dhe kjo na kujtoi industria e transportit detar. 123 00:07:12,280 --> 00:07:14,280 >> Pra, industrinë e anijeve kishte një shumë të mallrave, 124 00:07:14,280 --> 00:07:16,190 si ju mund të shihni në anën e majtë. 125 00:07:16,190 --> 00:07:19,840 Dhe në anën e djathtë, nuk është një shumë e, në thelb, 126 00:07:19,840 --> 00:07:22,160 mënyra për të transportuar këto mallra. 127 00:07:22,160 --> 00:07:26,040 Dhe çfarë ndodh si një çift folks u mblodhën dhe i tha: 128 00:07:26,040 --> 00:07:29,600 ne kemi nevojë për të standardizuar si ne fakt anije ato mallra. 129 00:07:29,600 --> 00:07:33,280 Dhe bum, ju keni enë intermodal anijeve. 130 00:07:33,280 --> 00:07:38,970 >> Kështu ata ranë dakord në më Madhësive të përbashkëta për enë. 131 00:07:38,970 --> 00:07:40,160 Si për të trajtuar ato. 132 00:07:40,160 --> 00:07:44,560 Çfarë metodë e saktë ju duhet për të ngarkesës së tyre dhe zbraz ato. 133 00:07:44,560 --> 00:07:49,590 Dhe për këtë arsye, që me të vërtetë ndihmuar industrinë e anijeve. 134 00:07:49,590 --> 00:07:55,250 Tani më shumë se 90% fokus transportohen globalisht janë duke përdorur këto kontejnerë. 135 00:07:55,250 --> 00:08:01,010 Dhe që patjetër zvogëlon shpenzimet, si dhe 136 00:08:01,010 --> 00:08:03,400 dëmet për shkak të anijeve. 137 00:08:03,400 --> 00:08:09,660 >> Pra, ne marrim të njëjtin model dhe ne aplikojnë dy app zhvillimit të softuerit 138 00:08:09,660 --> 00:08:13,080 Arkitektura, në kuptimin që Containerization 139 00:08:13,080 --> 00:08:15,842 mori Virtualization deri një nivel. 140 00:08:15,842 --> 00:08:17,800 Pra, në vend që të bëjnë këtë në nivelin e pajisjeve, 141 00:08:17,800 --> 00:08:22,060 ajo u bë më shumë një operative nivel sistemi Virtualization. 142 00:08:22,060 --> 00:08:26,450 >> Dhe ne bëjmë këtë duke ofruar çdo Aplikimi në lehtë e vet, 143 00:08:26,450 --> 00:08:31,180 izoluar, runnable, dhe portativ, më e rëndësishmja, 144 00:08:31,180 --> 00:08:35,049 një mënyrë për të vërtetë paketë çdo gjë që ajo ka nevojë për të kandiduar. 145 00:08:35,049 --> 00:08:36,100 Kudo ajo mund të kandidojë. 146 00:08:36,100 --> 00:08:42,039 Pra, pa marrë parasysh nëse ju jeni drejtimin e tij në mjedis dev lokal, prodhimi juaj 147 00:08:42,039 --> 00:08:44,490 mjedisi, në skenë tuaj ose testimit. 148 00:08:44,490 --> 00:08:47,700 Pa marrë parasysh se çfarë themelor infrastruktura është atje, 149 00:08:47,700 --> 00:08:51,410 keni pasur një app funksionale pune. 150 00:08:51,410 --> 00:08:54,100 151 00:08:54,100 --> 00:09:01,800 >> Pra, kjo është pikërisht në thelb ajo që kontejnerët bëjmë për këtë problem. 152 00:09:01,800 --> 00:09:04,070 Ata e trajtojnë atë me paketimit atë në mënyrë të tillë 153 00:09:04,070 --> 00:09:09,490 që ajo mund të garantojë se ajo është vendosur sukses ska rëndësi se ku ai jeton. 154 00:09:09,490 --> 00:09:12,120 Pra, nëse ju jeni duke shkuar si, Bob është ende në rregull. 155 00:09:12,120 --> 00:09:17,860 Nëse jeni të hutuar me atë që unë jam duke thënë: Unë jam duke shkuar për të elaboruar në atë. 156 00:09:17,860 --> 00:09:20,900 >> Pra, si e bën vetë Docker përshtaten në këtë foto? 157 00:09:20,900 --> 00:09:26,335 Pra Docker është një platformë e hapur të lehtë, të theksuar lehtë, 158 00:09:26,335 --> 00:09:30,500 për të ndërtuar anije, të drejtuar, vetë lehtë portative 159 00:09:30,500 --> 00:09:33,440 kontejnerët mjaftueshme app kudo. 160 00:09:33,440 --> 00:09:37,660 Pra, nëse ju merrni diçka nga kjo flasim, ju lutem merrni në vijim. 161 00:09:37,660 --> 00:09:40,980 >> Nëse keni app tuaj running në nivel lokal dhe të zhvilluar atë 162 00:09:40,980 --> 00:09:45,930 në përdorimin e platformës Docker, presin ajo që do të vendoset me sukses. 163 00:09:45,930 --> 00:09:49,380 Pa marrë parasysh se çfarë është infrastrukturë themelor. 164 00:09:49,380 --> 00:09:53,830 Pra, nëse ju keni një Docker enë dhe se është duke punuar, atëherë 165 00:09:53,830 --> 00:09:58,130 për aq kohë sa nuk ka një Docker motor në side-- tjetër 166 00:09:58,130 --> 00:10:02,190 nëse infrastrukturën tuaj operacion është duke përdorur ndonjë Cloud, nëse ajo 167 00:10:02,190 --> 00:10:06,680 është AWS, apo Google apo Microsoft, apo ndonjë nga Clouds publike, 168 00:10:06,680 --> 00:10:10,010 ose vet Cloud tuaj, ose rafte tuaj të hapur Re, ose mjedisin tuaj lokal. 169 00:10:10,010 --> 00:10:11,970 >> Nëse ju keni një motor drejtimin, që do të thotë 170 00:10:11,970 --> 00:10:14,537 ajo do të jetë vendosur me sukses atje. 171 00:10:14,537 --> 00:10:16,620 Ajo do të konkurrojnë saktësisht njëjtë sjellja 172 00:10:16,620 --> 00:10:21,480 si ju architected që ajo të jetë. 173 00:10:21,480 --> 00:10:26,080 Pra, nëse ne shikojmë at-- unë jam duke shkuar të kalojnë nëpër atë që në fakt 174 00:10:26,080 --> 00:10:29,160 janë në komponentët kryesorë të Docker. 175 00:10:29,160 --> 00:10:31,060 >> Pra Engine është në thelbin e Docker. 176 00:10:31,060 --> 00:10:32,770 Ajo është truri-së. 177 00:10:32,770 --> 00:10:39,360 Ajo orkestron ndërtimit, anijeve, dhe vendosjen dhe menaxhimin e 178 00:10:39,360 --> 00:10:41,570 vetë kontejnerët. 179 00:10:41,570 --> 00:10:45,160 Unë do të gërmoj në atë që bën Engine në më shumë detaje në një të dytë. 180 00:10:45,160 --> 00:10:47,740 181 00:10:47,740 --> 00:10:51,720 Në thelb, sepse Doktor ishte ndërtuar rreth arkitektura klient server, 182 00:10:51,720 --> 00:10:56,630 kështu që në mënyrë për të bashkëvepruar me Engine ju keni nevojë për një lloj të një klienti. 183 00:10:56,630 --> 00:11:01,200 >> Imazhet janë templates në të cilat kontejnerët janë ndërtuar nga. 184 00:11:01,200 --> 00:11:06,800 Pra, imazhet janë në thelb Fotografi vetëm statike. 185 00:11:06,800 --> 00:11:08,740 Templates dhe kontejnerë është në fakt çfarë është 186 00:11:08,740 --> 00:11:12,280 po kandidon në kohën e duhur që po shërben aplikimin tuaj 187 00:11:12,280 --> 00:11:15,150 apo duke bërë diçka me të dhënat. 188 00:11:15,150 --> 00:11:19,020 >> Regjistri trajtohet si një problem i si ju në fakt shpërndani imazhe. 189 00:11:19,020 --> 00:11:23,230 Pra, nëse keni nevojë për të ndarë një imazh që keni punuar në për kolegun tuaj 190 00:11:23,230 --> 00:11:27,220 ose për ekipin ops, ju e përdorin atë duke përdorur Regjistrit. 191 00:11:27,220 --> 00:11:31,720 Ju mund të shkarkoni një burim të hapur version i saj që Docker punuar në 192 00:11:31,720 --> 00:11:33,150 dhe të hapur burim. 193 00:11:33,150 --> 00:11:38,040 >> Ose ju mund të përdorni ndihmë Docker, që është version Cloud 194 00:11:38,040 --> 00:11:40,130 për të nxitur dhe tërhequr imazhe atje. 195 00:11:40,130 --> 00:11:41,160 Kjo është një gjë e madhe. 196 00:11:41,160 --> 00:11:44,520 Sepse ka një të madhe ekosistemit përreth Docker dhe kjo është 197 00:11:44,520 --> 00:11:48,960 të vërtetë të rëndë shfrytëzuar qendër. 198 00:11:48,960 --> 00:11:59,780 >> Pra, për të përmbledhur këtu, kjo është se si minimalist Docker punës klient. 199 00:11:59,780 --> 00:12:04,040 Ju të ndërveprojnë me të presë, në ky rast është edhe demonët Docker. 200 00:12:04,040 --> 00:12:06,490 Kjo është e njëjta gjë si Engine. 201 00:12:06,490 --> 00:12:09,690 Ju bëni komandat si Docker ndërtuar, tërheq, drejtuar. 202 00:12:09,690 --> 00:12:14,280 Dhe Engine vetë shkon dhe bën ato gjëra. 203 00:12:14,280 --> 00:12:18,010 >> Pra, ose ajo ndërvepron me Regjistrit për të tërhequr ato imazhe 204 00:12:18,010 --> 00:12:19,670 dhe shtresat e imazheve. 205 00:12:19,670 --> 00:12:25,030 Nëse qoftë se ju doni për të vendosur, të drejtuar kontejnerët, vrasin ata, ata hedhin poshtë, 206 00:12:25,030 --> 00:12:25,730 gjësend. 207 00:12:25,730 --> 00:12:32,190 Pra, kjo përmbledh punës të gjitha këto komponente. 208 00:12:32,190 --> 00:12:34,710 >> Pra, nëse ju merrni çdo komponent në vetvete. 209 00:12:34,710 --> 00:12:37,690 Pra Engine, kjo është vetëm një daemon. 210 00:12:37,690 --> 00:12:40,800 Ajo do lloj i të luajtur atë për të mbështetur ajo në Linux për shkak se ajo ka 211 00:12:40,800 --> 00:12:44,380 kërkojnë të caktuara Linux kernel tipare. 212 00:12:44,380 --> 00:12:48,820 Por Windows është duke punuar për të bërë të njëjtën gjë. 213 00:12:48,820 --> 00:12:53,720 Është menduar që të mbështeten nga Windows Server 2016. 214 00:12:53,720 --> 00:13:01,500 >> Pra, përsëri, përgjegjësitë me motor është që, ose janë të, të ndërtuar imazhe. 215 00:13:01,500 --> 00:13:05,340 Tërhiqe imazhe nga Docker Hub ose vetë regjistrit tuaj. 216 00:13:05,340 --> 00:13:07,840 Në qoftë se ju jeni bërë me këto imazhe ose keni krijuar një pamje të reja, 217 00:13:07,840 --> 00:13:14,770 ju mund të shtyjë ata përsëri për të regjistrit për shpërndarjen e tyre në ekipet e tjera. 218 00:13:14,770 --> 00:13:18,300 >> Dhe duke u përpjekur për të kontrolluar atë në nivel lokal dhe menaxhuar ciklin e jetës kontejnerët 219 00:13:18,300 --> 00:13:19,260 në nivel lokal. 220 00:13:19,260 --> 00:13:22,010 Ajo është ndërtuar rreth HTTP REST API. 221 00:13:22,010 --> 00:13:24,480 Pra, teknikisht ju mund të shkruani klientin tuaj 222 00:13:24,480 --> 00:13:31,650 për aq kohë sa ajo përdor HTTP, e cila është një shumë mekanizëm standarde për të biseduar me Engine 223 00:13:31,650 --> 00:13:33,110 dhe shumë shërbime të tjera. 224 00:13:33,110 --> 00:13:35,780 Dhe ju mund të shihni nga këtu se pavarësisht 225 00:13:35,780 --> 00:13:39,010 e asaj infrastrukturës është, për aq kohë sa ju can-- gjithë 226 00:13:39,010 --> 00:13:42,170 ju duhet është një operativ sistem, Linux në mënyrë specifike. 227 00:13:42,170 --> 00:13:45,460 >> Dhe ju mund të instaloni Docker Engine në krye të se e kanë atë të rrjedhshëm 228 00:13:45,460 --> 00:13:48,970 dhe orkestron, në thelb, të gjitha këto app një, dy, 229 00:13:48,970 --> 00:13:51,530 dhe tre janë kontenierë aktuale. 230 00:13:51,530 --> 00:13:53,990 Pra, kjo është Engine. 231 00:13:53,990 --> 00:13:58,040 Siç e përmenda më parë, sepse ju keni nevojë për të bashkëvepruar me Engine, 232 00:13:58,040 --> 00:13:59,200 ka klienti. 233 00:13:59,200 --> 00:14:03,180 >> Por në fakt, kur ju instaloni Docker, kjo anije me të. 234 00:14:03,180 --> 00:14:06,110 Pra, ajo merr instaluar, kështu që kjo është një binar të vetëm. 235 00:14:06,110 --> 00:14:11,830 Dhe ju mund të bëni thirrje lokale në Docker Engine tuaj. 236 00:14:11,830 --> 00:14:14,040 Ose thirrjet largët për motorët e largët. 237 00:14:14,040 --> 00:14:16,600 238 00:14:16,600 --> 00:14:19,590 Ajo do të përdorin HTTP, si Përmenda më parë. 239 00:14:19,590 --> 00:14:24,200 Ka një klient i quajtur GUI Kitematic nga Docker. 240 00:14:24,200 --> 00:14:26,390 Dhe nuk janë patjetër një shumë e folks të tjera 241 00:14:26,390 --> 00:14:29,740 të cilët po ndërtojnë një shumë të GUIs që në thelb zbatojnë 242 00:14:29,740 --> 00:14:32,980 disa HTTP thirrje për të biseduar me Engine. 243 00:14:32,980 --> 00:14:35,920 244 00:14:35,920 --> 00:14:39,280 >> Vetëm disa komandat mostër. 245 00:14:39,280 --> 00:14:44,620 Nëse ju bëni versionin Docker, ajo do të t'ju tregojë versionin e klientit, si dhe 246 00:14:44,620 --> 00:14:47,030 versioni server. 247 00:14:47,030 --> 00:14:49,500 Nëse ju bëni info Docker ajo do të t'ju them gjitha informatat 248 00:14:49,500 --> 00:14:54,300 për sa kontejnerë do të vrapojnë ose krijuar, sa imazhet që ju keni, 249 00:14:54,300 --> 00:14:56,530 dhe kështu me radhë e kështu me radhë. 250 00:14:56,530 --> 00:15:01,850 >> Këtu unë kam, në e ardhshme për të kutia e fundit, unë kam drejtuar Doctor. 251 00:15:01,850 --> 00:15:04,970 Pra, kjo është se si unë jam në të vërtetë krijuar enë. 252 00:15:04,970 --> 00:15:08,960 Dhe unë jam duke i dhënë atë për echo Përshëndetje Të Gjithëve dhe fle për një të dytë dhe gjësend. 253 00:15:08,960 --> 00:15:12,830 Dhe ju mund të shihni rezultat. Pra, kjo është në vazhdim. 254 00:15:12,830 --> 00:15:16,930 Dhe të ngjashme me Linux ps, ju mund të shihni të gjitha proceset dhe, në këtë rast, 255 00:15:16,930 --> 00:15:18,540 të gjithë kontejnerët running. 256 00:15:18,540 --> 00:15:23,430 Ky i fundit i referohet përsëri në enë Unë vetëm krijuar. 257 00:15:23,430 --> 00:15:27,560 >> Pra, kjo është me të vërtetë e rëndësishme sepse, si, ajo mund të jetë pak konfuze. 258 00:15:27,560 --> 00:15:33,050 Pra, imazhet janë read-only Mbledhja e dosjeve, e drejtë? 259 00:15:33,050 --> 00:15:37,000 Ata janë ato që enë jonë është e bazuar në. 260 00:15:37,000 --> 00:15:40,340 Por ata janë vetëm read-only. 261 00:15:40,340 --> 00:15:44,330 Pra, ju nisem me një imazh bazë. 262 00:15:44,330 --> 00:15:50,180 Ajo tenton për të imituar OS-si, kështu që Ubuntu, CentOS, imazhi bazë gjësend. 263 00:15:50,180 --> 00:15:53,990 Dhe pastaj ju të fillojë ndërtimin në krye që, shtresa të caktuara, që do të përbëjnë 264 00:15:53,990 --> 00:16:00,010 imazhin tuaj në fund, në fund të rezultojë këtu. 265 00:16:00,010 --> 00:16:03,220 >> Dhe secili prej këtyre shtresave duhet të ketë një imazh prind 266 00:16:03,220 --> 00:16:06,690 se ai i referohet kur atë në fakt do të krijojë. 267 00:16:06,690 --> 00:16:09,922 Ata janë të pandryshueshme, në kuptimin se për shkak se ata janë read-only, 268 00:16:09,922 --> 00:16:11,630 ju nuk mund të vërtetë të bëjë ndryshime në to. 269 00:16:11,630 --> 00:16:17,540 Ju mund të përdorni ato për të krijuar një enë nga një imazh, i cili 270 00:16:17,540 --> 00:16:23,530 do të thërrasë të gjithë pasuese Imazhet të nevojshme nën atë. 271 00:16:23,530 --> 00:16:26,400 >> Ju mund të bëni ndryshime në një shtresë të ndryshme, 272 00:16:26,400 --> 00:16:28,810 kjo është një shtresë rishkruaj unë do mundësitë për të marrë një të dytë. 273 00:16:28,810 --> 00:16:31,350 Por secili prej këtyre shtresave nuk janë ndryshuar. 274 00:16:31,350 --> 00:16:34,300 275 00:16:34,300 --> 00:16:38,670 Në thelb images përdorni diçka quajtur Bashkimi file sistemit, UFS. 276 00:16:38,670 --> 00:16:42,280 Dhe ka ruajtje të ndryshme backends që përdorin këtë teknologji. 277 00:16:42,280 --> 00:16:49,430 Dhe çka do të thotë është se ajo bashkon sistemet dallueshme fotografi 278 00:16:49,430 --> 00:16:51,190 për të bërë ato të duken si një. 279 00:16:51,190 --> 00:16:54,460 >> Kështu që ju mund të vërtetë, nga një perspektivë kërkesë, 280 00:16:54,460 --> 00:16:59,570 ju keni një top të një pamje që tregon gjithë sistemin e fotografi të ndryshme të nevojshme 281 00:16:59,570 --> 00:17:01,120 për të cilat aplikimi për të kandiduar. 282 00:17:01,120 --> 00:17:04,400 Por ata janë në fakt, në këtë, ata janë në fakt në vende të veçanta 283 00:17:04,400 --> 00:17:06,410 dhe duke u shfrytëzuar nga kontenierë të tjera. 284 00:17:06,410 --> 00:17:09,569 285 00:17:09,569 --> 00:17:14,410 >> Kështu si ju mund të shihni këtu se në qoftë se ne fillojmë me imazhin daemon 286 00:17:14,410 --> 00:17:18,619 si një imazh bazë, dhe pastaj ne do të shkojmë në dhe shtoni [? Emacs?] 287 00:17:18,619 --> 00:17:20,720 dhe pastaj kjo është një tjetër shtresë. 288 00:17:20,720 --> 00:17:21,916 Dhe pastaj shtoni Apache. 289 00:17:21,916 --> 00:17:22,790 Kjo është një tjetër shtresë. 290 00:17:22,790 --> 00:17:25,470 Dhe pastaj ne kalojmë enë nga ajo. 291 00:17:25,470 --> 00:17:29,760 Secili prej këtyre imazheve, secili prej këtyre shtresa, 292 00:17:29,760 --> 00:17:35,530 është i veçantë dhe mund të jetë ripërdoren nga kontejnerët tjerë. 293 00:17:35,530 --> 00:17:40,070 >> Nëse ju shikoni në vetë kontejnerë, ata janë disi si VM-si, 294 00:17:40,070 --> 00:17:41,930 por jo trajtohen në të njëjtën kohë. 295 00:17:41,930 --> 00:17:49,180 Pra, ata nuk kanë, teknikisht, sistem i plotë operativ nën to. 296 00:17:49,180 --> 00:17:52,630 Ata përdorin bërthamën e vetme e sistemit operativ host. 297 00:17:52,630 --> 00:17:54,440 Dhe ata ndërtojnë në krye të kësaj. 298 00:17:54,440 --> 00:17:56,250 Ata imitojnë në mënyrën se si ata shikojnë. 299 00:17:56,250 --> 00:18:00,710 Ata imitojnë dosjen e tyre rrënjë Sistemi i sistemit operativ. 300 00:18:00,710 --> 00:18:04,930 Por ata në të vërtetë nuk janë përsëritur. 301 00:18:04,930 --> 00:18:12,080 >> Pra, në vend që shtresa pandryshueshme, shtresa e fundit, e cila është enë 302 00:18:12,080 --> 00:18:14,690 vetë, kjo është një shtresë read-shkruaj. 303 00:18:14,690 --> 00:18:17,350 Që gjithashtu drejton proceset e aplikimit tuaj. 304 00:18:17,350 --> 00:18:23,530 Dhe kjo varet nga shtresa themelore. 305 00:18:23,530 --> 00:18:26,730 Çdo enë është krijuar nga një imazh. 306 00:18:26,730 --> 00:18:32,450 Dhe se imazhi mund të jetë një e vetme Shtresa apo imazhit multilayer. 307 00:18:32,450 --> 00:18:37,200 >> Dhe unë dua të theksohet këtu që Docker rëndë përdor, 308 00:18:37,200 --> 00:18:40,370 ose është i bazuar në mekanizmin Copy-On-shkruaj. 309 00:18:40,370 --> 00:18:44,350 Kështu që, në të vërtetë, në qoftë se ju nuk jeni bërjen e ndryshimeve te konteinerit, 310 00:18:44,350 --> 00:18:45,930 kjo nuk do të marrë hapësirë ​​shtesë. 311 00:18:45,930 --> 00:18:49,600 Pra, kjo është në thelb se si ju përmbledh një Copy-On-shkruaj. 312 00:18:49,600 --> 00:18:53,820 Ajo do të patjetër të përshpejtojë koha boot për enë. 313 00:18:53,820 --> 00:18:56,300 Sepse në qoftë se ju nuk jeni duke e bërë ndryshimet në enë, 314 00:18:56,300 --> 00:18:57,800 ajo është shfrytëzuar atë që është tashmë atje. 315 00:18:57,800 --> 00:19:01,130 316 00:19:01,130 --> 00:19:02,955 >> Pra, se si në fakt funksionon. 317 00:19:02,955 --> 00:19:06,920 318 00:19:06,920 --> 00:19:14,240 Një pjesë e tij është si, tani, atë përdor të paktën dy kernel kyçe 319 00:19:14,240 --> 00:19:14,820 karakteristika. 320 00:19:14,820 --> 00:19:17,660 Dhe kjo është në thelb ajo që krijuar atë nivel të izolimit 321 00:19:17,660 --> 00:19:19,550 për vetë kontejnerë. 322 00:19:19,550 --> 00:19:22,290 Këto karakteristika janë hapësira dhe cgroups. 323 00:19:22,290 --> 00:19:29,870 Pra, hapësira janë një mënyrë për të të krijojë burime të izoluara, 324 00:19:29,870 --> 00:19:36,290 në mënyrë që brenda vete konteinerit, vetëm ju mund të shihni burime të caktuara. 325 00:19:36,290 --> 00:19:40,030 Të tilla si interface rrjeteve ose përdoruesit të caktuara ose gjësend. 326 00:19:40,030 --> 00:19:44,160 >> Dhe ata janë të dukshme vetëm dhe vetëm të arritshme brenda enë. 327 00:19:44,160 --> 00:19:48,290 Cgroup në kufijtë e tjera anësore si ju përdorni këto burime. 328 00:19:48,290 --> 00:19:50,950 CPU, memorie, dhe disk. 329 00:19:50,950 --> 00:19:53,900 Kur ju mund të shkoni në, unë do të thotë ata që janë në të vërtetë 330 00:19:53,900 --> 00:19:57,410 karakteristika që janë zhvilluar by-- ata janë pjesë e kernel Linux. 331 00:19:57,410 --> 00:20:01,800 Pra, ata nuk ishin të reinvented nga ose rikrijuar nga Docker. 332 00:20:01,800 --> 00:20:03,770 Docker përdor ato. 333 00:20:03,770 --> 00:20:05,560 >> Çfarë Doktor vërtetë ka këtu është në fakt ajo 334 00:20:05,560 --> 00:20:08,680 krijimi orkestruar hapësira për çdo enë 335 00:20:08,680 --> 00:20:13,320 dhe krijimin e cgroups në mënyrë që ajo është ridiculously lehtë për të krijuar kontejnerët 336 00:20:13,320 --> 00:20:14,870 duke përdorur këto tipare. 337 00:20:14,870 --> 00:20:22,910 Sigurisht, siç kam përshkruar më parë, Bashkimi Sisteme skedarësh dhe Copy-On-Shkruaj vërtet 338 00:20:22,910 --> 00:20:26,810 të ndihmojë shpejtësinë dhe disk shfrytëzimin e kontejnerëve. 339 00:20:26,810 --> 00:20:28,917 >> Dhe një herë ju merrni tuaj duart rreth Docker, 340 00:20:28,917 --> 00:20:32,000 ju jeni duke shkuar për të parë se sa shpejt ajo është për të në fakt tjerr deri kontenierë dhe lot 341 00:20:32,000 --> 00:20:32,500 ata poshtë. 342 00:20:32,500 --> 00:20:36,060 343 00:20:36,060 --> 00:20:40,230 Pra, në qoftë se ju mund të pyesni, se si mund të ju në të vërtetë të ndërtuar imazhe? 344 00:20:40,230 --> 00:20:45,940 Ne ndërtojmë imazhe nga një proces i krijimit të kontejnerë dhe duke bërë ndryshime, ndryshuar 345 00:20:45,940 --> 00:20:50,220 ata, dhe kryerjen e tyre në duke u bërë një imazh. 346 00:20:50,220 --> 00:20:54,330 >> Pra, kjo është një pulë dhe referencë vezë këtu, 347 00:20:54,330 --> 00:20:57,350 sepse të gjithë kontejnerët vijnë nga imazhet dhe imazhet vijnë 348 00:20:57,350 --> 00:21:00,270 nga kontejnerët e kryera, per pjesen me te madhe. 349 00:21:00,270 --> 00:21:03,830 Ka tre opsione për të krijuar imazhe. 350 00:21:03,830 --> 00:21:06,580 Unë jam duke shkuar për të përshkruar i pari dhe i fundit. 351 00:21:06,580 --> 00:21:10,060 Ju ose mund të manualisht shkoni dhe të drejtuar enë 352 00:21:10,060 --> 00:21:14,280 dhe të bëjnë këto ndryshime, si ju do të bëni në çdo VM 353 00:21:14,280 --> 00:21:17,060 ose çdo sistem operativ, të tilla si instalimi i binareve të reja, 354 00:21:17,060 --> 00:21:19,370 duke shtuar file sistemeve, dhe gjësend. 355 00:21:19,370 --> 00:21:22,620 >> Dhe pastaj të dalë, si ju mund të shihni deri atje. 356 00:21:22,620 --> 00:21:24,330 Unë jam daljes enë tim. 357 00:21:24,330 --> 00:21:26,050 Dhe atëherë unë jam duke bërë Docker kryer. 358 00:21:26,050 --> 00:21:28,390 Dhe unë jam kryerjes se. 359 00:21:28,390 --> 00:21:31,560 Ju mund të shihni se numri këtu është vetëm një UUID, ose 12 për herë të parë 360 00:21:31,560 --> 00:21:32,810 bit e UUID. 361 00:21:32,810 --> 00:21:34,320 Ose bytes e UUID. 362 00:21:34,320 --> 00:21:35,770 Dhe atëherë unë jam duke e quajtur atë imazhi im. 363 00:21:35,770 --> 00:21:39,510 Deri tani Docker kujdeset për të regjistruar çdo gjë unë e bëri atë 364 00:21:39,510 --> 00:21:42,830 dhe krijimin e ri Imazhi bazuar në atë. 365 00:21:42,830 --> 00:21:47,080 366 00:21:47,080 --> 00:21:52,560 >> Unë nuk jam do të flasim për tarball, por ka një mënyrë ju mund të merrni një të vetme, 367 00:21:52,560 --> 00:21:58,200 të krijojë një të vetme, ose të bëjë një të vetme Imazhi shtresë përdorur tarball. 368 00:21:58,200 --> 00:22:02,650 Ajo që unë jam duke shkuar për të folur në lidhje me këtë dhe çfarë është përdorur kryesisht sot, 369 00:22:02,650 --> 00:22:03,270 është Dockerfile. 370 00:22:03,270 --> 00:22:07,260 E cila është teknikisht i pari hap automatizuar nga vetë Docker. 371 00:22:07,260 --> 00:22:11,920 Pra Dockerfiles janë gjëra që ju jeni do të shohim në një shumë të repove GitHub 372 00:22:11,920 --> 00:22:13,150 sot. 373 00:22:13,150 --> 00:22:16,420 Kjo është në thelb vetëm një Teksti skedar përshkruar 374 00:22:16,420 --> 00:22:19,780 saktësisht se si për të ndërtuar një imazh. 375 00:22:19,780 --> 00:22:25,540 >> Dhe për çdo linjë, ai në fakt krijon enë, ekzekuton atë vijë, 376 00:22:25,540 --> 00:22:30,480 kryen atë enë në një imazh të ri, dhe ti, në thelb, 377 00:22:30,480 --> 00:22:36,160 e përdorin atë për të gjitha operacionet e mëvonshme derisa ju të merrni në imazhin e fundit. 378 00:22:36,160 --> 00:22:39,260 E cila është në thelb fund qëllimi këtu, fundin. 379 00:22:39,260 --> 00:22:42,420 Dhe pasi të keni exec-- pas teje shkruaj Dockerfile tuaj, e cila 380 00:22:42,420 --> 00:22:46,750 është thjesht në tekst, ju bëni një Docker ndërtuar dhe emri i imazhit. 381 00:22:46,750 --> 00:22:50,000 >> Dhe ju pikë në se kjo është ku Dockerfile është në. 382 00:22:50,000 --> 00:22:56,570 Dhe ju mund të presin për të parë imazhin tim si një imazh që ju keni në nivel lokal. 383 00:22:56,570 --> 00:22:59,100 Pra, kjo është vetëm një vizuale Shembulli i asaj që vazhdon. 384 00:22:59,100 --> 00:23:00,820 Ju filloni me një imazh bazë. 385 00:23:00,820 --> 00:23:05,150 Ju drejtuar se në një enë që nuk ndryshon imazhin e vetë qerren. 386 00:23:05,150 --> 00:23:08,310 Por në vend krijon një rishkruaj shtresë në krye të saj 387 00:23:08,310 --> 00:23:10,340 ku ju bëni ndryshimet, në të cilën ju të kryer 388 00:23:10,340 --> 00:23:15,050 dhe ju përsëris procesin deri ju merrni për imazhin tuaj përfundimtar. 389 00:23:15,050 --> 00:23:20,980 >> Dhe duke bërë kështu, çdo ndërtuar të tjera Procesi mund të përdorni të njëjtat shtresa 390 00:23:20,980 --> 00:23:23,870 dhe same-- thelb Docker arka ato shtresa. 391 00:23:23,870 --> 00:23:30,040 Kështu që në qoftë se unë jam duke bërë të njëjtën gjë e saktë proces, por në vend të instalimit të PHP, 392 00:23:30,040 --> 00:23:31,540 Unë jam instalimit Python. 393 00:23:31,540 --> 00:23:34,210 Ajo do të përdorin Apache dhe Ubuntu. 394 00:23:34,210 --> 00:23:39,570 Pra, në këtë mënyrë ju jeni duke përdorur diskun tuaj. 395 00:23:39,570 --> 00:23:42,330 Është shfrytëzuar cache dhe imazhe në dispozicion atje. 396 00:23:42,330 --> 00:23:45,320 397 00:23:45,320 --> 00:23:48,840 >> Pjesa përfundimtare është Regjistrit, i cili është se si ju shpërndani imazhet tuaja. 398 00:23:48,840 --> 00:23:52,710 Dhe, siç e përmenda më herët, ka një version cloud të saj, 399 00:23:52,710 --> 00:23:54,290 e cila është Docker Hub. 400 00:23:54,290 --> 00:23:57,550 Ju mund të shkoni dhe të eksplorojnë shumë, në thelb 401 00:23:57,550 --> 00:24:04,900 kjo është një produkt publik SAS se ju ende mund të ketë imazhe private, 402 00:24:04,900 --> 00:24:06,590 por ka një shumë e imazheve publike. 403 00:24:06,590 --> 00:24:10,580 Është në fakt pakufizuar, ju mund të shtytje imazhe pakufizuar publike atje. 404 00:24:10,580 --> 00:24:13,730 Dhe kjo është se si ju mund të bashkëpunojnë me ekipin tuaj. 405 00:24:13,730 --> 00:24:17,159 >> Ju vetëm mund të nxjerr ato në ju repo dhe ata mund ta shkarkoni apo imazhin tuaj 406 00:24:17,159 --> 00:24:18,200 dhe ata mund ta shkarkoni. 407 00:24:18,200 --> 00:24:21,140 408 00:24:21,140 --> 00:24:24,990 Pra, mjaft me biseda. 409 00:24:24,990 --> 00:24:29,110 Kush dëshiron të shohë disa popull vërtetë të shpejtë? 410 00:24:29,110 --> 00:24:31,330 Në rregull. 411 00:24:31,330 --> 00:24:34,050 Kështu që këtu unë kam. 412 00:24:34,050 --> 00:24:37,480 Ca ju djema shikoni ekranin tim? 413 00:24:37,480 --> 00:24:38,390 Në rregull. 414 00:24:38,390 --> 00:24:45,810 >> Pra, unë kam Docker drejtimin këtu, kështu që unë mund të kontrolloni it's-- Ky është versioni 415 00:24:45,810 --> 00:24:47,510 i Docker që është running. 416 00:24:47,510 --> 00:24:49,320 Mund të bëjë info Docker. 417 00:24:49,320 --> 00:24:55,730 Kontrolloni të gjitha informatat në lidhje me sa Imazhet ata kanë, dhe kështu me radhë e kështu me radhë. 418 00:24:55,730 --> 00:24:58,890 Docker PS, nuk ka asgjë running. 419 00:24:58,890 --> 00:25:00,570 Concatenated ato. 420 00:25:00,570 --> 00:25:06,370 >> Pra, gjëja e parë që unë dua të bëj është shfaqje ju si ju lehtë mund të kandidojë një enë. 421 00:25:06,370 --> 00:25:09,350 Pra, bukuria për Drejtuar mjeku, në qoftë se ajo në fakt 422 00:25:09,350 --> 00:25:14,700 nuk gjejnë një imazh në nivel lokal, nga default ajo flet për Hub Doktor 423 00:25:14,700 --> 00:25:17,240 dhe përpiqet për të gjetur atë atje dhe shkarkime atë për ju. 424 00:25:17,240 --> 00:25:22,820 Pra, ajo përfshin një Docker tërheq komandën, natyrisht. 425 00:25:22,820 --> 00:25:26,130 >> Pra, nëse unë bëj një Docker drejtuar, Hello-botë. 426 00:25:26,130 --> 00:25:28,890 427 00:25:28,890 --> 00:25:31,200 Pra, së pari ajo do në përpjekje për të gjetur atë. 428 00:25:31,200 --> 00:25:36,140 Përndryshe, si ju mund të shihni këtu, ajo nuk mund të gjeni atë në nivel lokal. 429 00:25:36,140 --> 00:25:41,830 Tani për tani ai thjesht u tërhoq dy shtresa që e bëri atë imazh dhe unë u zhvillua atë. 430 00:25:41,830 --> 00:25:45,440 Hello-botë është vetëm në thelb rezultatet, çfarë keni bërë. 431 00:25:45,440 --> 00:25:47,680 Pra, kjo është më e lehtë, një ndër shembujt më të lehta. 432 00:25:47,680 --> 00:25:53,840 Pra, në fakt unë vetëm u zhvillua dhe ndërpritet enë vërtetë të shpejtë. 433 00:25:53,840 --> 00:25:59,500 >> Nëse unë dua të run-- dhe nga mënyra, nëse Unë dua të kohës që, vetëm kështu që ju e dini, 434 00:25:59,500 --> 00:26:03,572 kjo është se sa kohë duhet për të në fakt tjerr dhe përmbajnë atë. 435 00:26:03,572 --> 00:26:05,030 Ne jemi të matur atë në milisekonda. 436 00:26:05,030 --> 00:26:10,600 Kështu që ju mund të shihni se sa kjo mund të në të vërtetë ju ndihmojë jo vetëm në testim, 437 00:26:10,600 --> 00:26:13,200 por gjithashtu edhe vendosjen. 438 00:26:13,200 --> 00:26:17,221 Pra, kjo është një shënim të shpejtë për këtë. 439 00:26:17,221 --> 00:26:18,970 Gjë tjetër unë jam do të bëni në fakt është 440 00:26:18,970 --> 00:26:21,930 drejtuar një imazh që kam përgatitur tashmë. 441 00:26:21,930 --> 00:26:24,460 Pra Docker drejtuar. 442 00:26:24,460 --> 00:26:27,240 -d është vetëm një flamur për të treguar ajo për të kandiduar në sfond. 443 00:26:27,240 --> 00:26:30,290 Dhe -p cakton porte të caktuara. 444 00:26:30,290 --> 00:26:32,670 Sepse nga default, kontejnerët janë të izoluar, 445 00:26:32,670 --> 00:26:36,080 kështu që ju duhet të përcaktojë saktësisht se si ajo mund të përdorni ato. 446 00:26:36,080 --> 00:26:41,150 Dhe në këtë rast, unë them Docker të ndajë një port të rastit në të presë 447 00:26:41,150 --> 00:26:44,560 në një port të caktuar brenda enë vetë. 448 00:26:44,560 --> 00:26:47,130 449 00:26:47,130 --> 00:26:56,460 Dhe kjo është në thelb ku image-- shpresojmë se kjo është një e drejtë. 450 00:26:56,460 --> 00:27:01,780 >> Pra, kjo e bën shkarkime paralele secila nga ato shtresa si ju mund të shihni këtu. 451 00:27:01,780 --> 00:27:06,949 Ata janë nga shtresat e bërë imazhi fund që kam ndërtuar. 452 00:27:06,949 --> 00:27:08,115 Ajo do të marrë një të dytë. 453 00:27:08,115 --> 00:27:11,290 454 00:27:11,290 --> 00:27:12,370 Dhe voila. 455 00:27:12,370 --> 00:27:16,590 >> Kështu që tani, nëse unë bëj VV Docker, unë duhet shihni diçka që po kandidon. 456 00:27:16,590 --> 00:27:22,250 Unë duhet të shoh ID, imazhin se kjo ishte bazuar jashtë, 457 00:27:22,250 --> 00:27:23,880 dhe komanda që u ekzekutua. 458 00:27:23,880 --> 00:27:28,720 Dhe si për të hyrë është thelb ju shkoni në këtë port. 459 00:27:28,720 --> 00:27:33,240 Kështu që unë jam duke shkuar për të shkuar to-- këtë po unë jam running atë në AWS. 460 00:27:33,240 --> 00:27:37,150 Unë jam duke shkuar për të shkuar në 32769. 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 Dhe këtu ne do të shkojmë. 464 00:27:41,120 --> 00:27:44,550 >> Pra, kjo është në fakt vetëm një shërbim web që tregon 465 00:27:44,550 --> 00:27:46,240 të cilat enë është duke u shërbyer nga. 466 00:27:46,240 --> 00:27:50,450 Kështu që ju mund të shihni se ajo është nga a9f enë. 467 00:27:50,450 --> 00:27:52,850 Dhe këtu kjo është emrin e enës. 468 00:27:52,850 --> 00:27:56,550 Kështu që ju djema mund të shihni se sa shpejt ajo ishte në fakt jo vetëm që tërheq, por edhe 469 00:27:56,550 --> 00:28:00,440 të vendosur këtë kontejner. 470 00:28:00,440 --> 00:28:05,070 >> Tani hapi tjetër është për të shikoni në Dockerfiles 471 00:28:05,070 --> 00:28:09,430 dhe se si ne mund të vërtetë ndërtuar imazhe të reja. 472 00:28:09,430 --> 00:28:15,250 Unë jam vetëm duke shkuar për të shkuar të marrë klon, një Sample Dockerfile bazuar në më parë 473 00:28:15,250 --> 00:28:17,755 diagram, ai për të Apache dhe PHP. 474 00:28:17,755 --> 00:28:26,740 475 00:28:26,740 --> 00:28:28,140 Shpresojmë kujtohet repo time. 476 00:28:28,140 --> 00:28:36,410 477 00:28:36,410 --> 00:28:38,750 >> Pra, unë kam depo time tani. 478 00:28:38,750 --> 00:28:43,080 Dhe ju jeni duke shkuar për të parë kjo shumë në fakt. 479 00:28:43,080 --> 00:28:45,110 Unë nuk e kam instaluar pemë. 480 00:28:45,110 --> 00:28:48,700 >> Pra, në thelb ju jeni duke shkuar për të parë se si Dokumentacioni juaj kod burim rreth 481 00:28:48,700 --> 00:28:51,240 ajo, dhe pastaj a Dockerfile në si të vërtetë paketojnë atë. 482 00:28:51,240 --> 00:28:57,970 Pra, kjo është vetëm një mostër PHP që i bën jehonë Hello CS50. 483 00:28:57,970 --> 00:29:01,550 >> Pra, nëse unë dua të drejtuar atë, Unë do të bëj Docker ndërtuar. 484 00:29:01,550 --> 00:29:03,370 Unë kam për të ndërtuar atë më parë. 485 00:29:03,370 --> 00:29:12,420 Unë jam duke shkuar për të përmendur atë demo_cs50. 486 00:29:12,420 --> 00:29:16,470 Dhe ju keni nevojë për një tag për atë shumë. 487 00:29:16,470 --> 00:29:19,802 Pra, le të thërrasë atë v1 dot. 488 00:29:19,802 --> 00:29:21,760 Pra, si unë përshkruar më herët, Çfarë unë jam duke bërë sot 489 00:29:21,760 --> 00:29:26,840 po unë jam i thënë Docker për të shkuar përdorimit that-- fakt, keq, keq e mia. 490 00:29:26,840 --> 00:29:29,450 491 00:29:29,450 --> 00:29:32,500 Ne nuk të marrë një sy në Dockerfile vetë. 492 00:29:32,500 --> 00:29:39,020 Pra, të vetmet gjëra në këtu janë index.php si file README 493 00:29:39,020 --> 00:29:39,810 dhe a Dockerfile. 494 00:29:39,810 --> 00:29:44,600 >> Pra, nëse ju merrni një vështrim në Dockerfile, kështu që është 495 00:29:44,600 --> 00:29:47,150 shumë të ngjashme me atë që I përshkruar më herët. 496 00:29:47,150 --> 00:29:51,220 Kjo është vetëm një bandë e hapa që Docker zbaton 497 00:29:51,220 --> 00:29:56,330 duke krijuar dhe marramendës poshtë kontenierë dhe [? numëruar?] ato në një imazh. 498 00:29:56,330 --> 00:29:59,570 >> Dhe në thelb ju mund të see-- [e padëgjueshme] atë here-- 499 00:29:59,570 --> 00:30:04,340 por kjo është nga repo lokale. 500 00:30:04,340 --> 00:30:06,410 Ajo do të shkojë dhe të kap index.php. 501 00:30:06,410 --> 00:30:10,970 Pra, kjo është vetëm kod burim që janë në fakt pjesë e aplikimit tuaj. 502 00:30:10,970 --> 00:30:16,800 E gjithë kjo në thelb janë sistemit operativ hidraulik, 503 00:30:16,800 --> 00:30:21,460 marrjen e paketave të drejtë dhe Apache, PHP dhe, dhe gjësend. 504 00:30:21,460 --> 00:30:26,950 Por kjo është në të vërtetë duke marrë index.php dhe kryerjen atë në enë, 505 00:30:26,950 --> 00:30:28,210 në imazhin. 506 00:30:28,210 --> 00:30:33,120 >> Pra, nëse ju shkoni përpara dhe të drejtuar komandën duke bërë në vijim, 507 00:30:33,120 --> 00:30:36,155 kjo është going-- fakt, kjo mund të marrë një grimë. 508 00:30:36,155 --> 00:30:40,870 509 00:30:40,870 --> 00:30:42,455 Shpresojmë se ajo nuk ka marrë shumë kohë. 510 00:30:42,455 --> 00:30:45,129 511 00:30:45,129 --> 00:30:46,170 Kështu që ju mund të shihni hapat. 512 00:30:46,170 --> 00:30:49,320 Dhe unë ju inkurajoj që të shkoni në shtëpi sot dhe përpiqen atë. 513 00:30:49,320 --> 00:30:51,280 Dhe Mano do të përshkruaj pikërisht si ju bëni këtë. 514 00:30:51,280 --> 00:30:57,810 Por është e vërtetë e madhe për të parë saktësisht çfarë po ndodh prapa skenave. 515 00:30:57,810 --> 00:31:02,420 Por kjo është qesharake lehtë për të ndërtuar imazhe dhe për të vendosur ato duke përdorur Docker. 516 00:31:02,420 --> 00:31:12,170 517 00:31:12,170 --> 00:31:14,050 >> Ajo është duke marrë një grimë më shumë sesa e prisja. 518 00:31:14,050 --> 00:31:29,085 519 00:31:29,085 --> 00:31:32,690 >> Le të shohim se çfarë ndodh kur ju, duke filluar ftohtë. 520 00:31:32,690 --> 00:31:36,260 Kështu si ju mund të shihni, secili prej këtyre hapave paraqesin linja në Dockerfile. 521 00:31:36,260 --> 00:31:42,570 Dhe kjo tregon këtu se ndërtuar me sukses këtë imazh. 522 00:31:42,570 --> 00:31:46,480 >> Pra, nëse unë bëj imazhe Docker, unë jam duke shkuar për të parë të gjitha imazhet që kam në nivel lokal. 523 00:31:46,480 --> 00:31:52,160 Dhe një prej tyre është quajtur tim emrin, dhe emrin e imazhit, 524 00:31:52,160 --> 00:31:56,050 dhe representing-- tag kryesisht kjo është një tag version. 525 00:31:56,050 --> 00:31:58,040 >> Kështu që tani, nëse unë dua të drejtuar ajo, unë do të kandidojë Docker. 526 00:31:58,040 --> 00:32:06,040 527 00:32:06,040 --> 00:32:14,960 Dhe unë vetëm dua të bëj një -P -D. Bëjnë v1. 528 00:32:14,960 --> 00:32:18,500 Kështu që unë mund të shoh tani që unë kam dy kontejnerët drejtimin, atë që unë vetëm 529 00:32:18,500 --> 00:32:21,230 krijuar dhe përshëndetje Docker ai që kam marrë e kaluar. 530 00:32:21,230 --> 00:32:24,320 >> Dhe ju mund të shihni këtu se ajo caktuar atë një port tjetër. 531 00:32:24,320 --> 00:32:30,710 Pra, nëse unë shkoj në të njëjtën IP, por të caktojë atë një port-- tjetër shpresojmë se unë nuk e bëri. 532 00:32:30,710 --> 00:32:33,060 Deri tani kjo është kërkesë që unë sapo vendosur. 533 00:32:33,060 --> 00:32:35,980 534 00:32:35,980 --> 00:32:43,900 >> Nëse unë dua të bëj ndryshime, unë shpejt mund të redaktoni kodin burim 535 00:32:43,900 --> 00:32:49,050 dhe të bëjë të mëposhtme. 536 00:32:49,050 --> 00:32:55,170 Le të bëjmë Hello Harvard. 537 00:32:55,170 --> 00:32:57,989 Pra, tani çfarë po ndodh të ndodhë është se unë jam 538 00:32:57,989 --> 00:32:59,905 do të tag atë me një ndryshe version-- oh, 539 00:32:59,905 --> 00:33:03,080 jo kjo guy-- tag atë me një version tjetër. 540 00:33:03,080 --> 00:33:05,735 Dhe ju jeni duke shkuar për të see-- bëni ju djema presin 541 00:33:05,735 --> 00:33:11,020 ajo për të marrë të njëjtën sasi e kohës për të ndërtuar atë për herë të dytë apo jo? 542 00:33:11,020 --> 00:33:14,470 Të gjithë të drejtë, dhe dikush e di pse? 543 00:33:14,470 --> 00:33:15,020 Fol. 544 00:33:15,020 --> 00:33:16,350 >> Audienca: [padëgjueshme] 545 00:33:16,350 --> 00:33:19,830 >> Nicola Kabar: Kjo është në thelb ne vetëm të ndryshojë një nga hapat më vonë. 546 00:33:19,830 --> 00:33:23,110 Dhe për këtë arsye ajo do të përdorni cache dhe përdorim secili prej këtyre shtresa. 547 00:33:23,110 --> 00:33:27,080 Dhe kjo është me të vërtetë disa nga Karakteristika killer të Docker 548 00:33:27,080 --> 00:33:32,930 është se si ai në fakt përdor dhe reuses duke marrë përsipër 549 00:33:32,930 --> 00:33:36,950 disku juaj për të njëjtën pjesë e sakta të informacionit. 550 00:33:36,950 --> 00:33:40,700 >> Pra, nëse ne bëjmë të njëjtën gjë, ai mori vetëm disa sekonda. 551 00:33:40,700 --> 00:33:48,860 Në qoftë se ne duam të redeploy-- kështu tani Unë duhet të ketë tre kontejnerë. 552 00:33:48,860 --> 00:33:56,160 Por kjo është duke u shërbeu në the-- shtatë një. 553 00:33:56,160 --> 00:33:58,860 Pra, tani është enë e tretë. 554 00:33:58,860 --> 00:34:02,580 Gjithkush e kuptoj ajo që unë vetëm e bëri këtu? 555 00:34:02,580 --> 00:34:06,320 >> Kështu që tani, nëse ju doni që të ndajnë këtë enë vërtetë të shpejtë me miqtë tuaj, 556 00:34:06,320 --> 00:34:14,840 ju mund të bëni vetëm Docker shtyjë emrin e enë, me shpresë. 557 00:34:14,840 --> 00:34:20,130 Kështu që tani ajo do të shtyjë atë to-- Unë nuk jam duke nënshkruar këtu. 558 00:34:20,130 --> 00:34:33,511 559 00:34:33,511 --> 00:34:34,219 Me fal per ate. 560 00:34:34,219 --> 00:34:39,219 Por unë nuk jam duke shkuar për të troubleshoot këtë tani. 561 00:34:39,219 --> 00:34:42,780 Por në thelb se një komandë është vetëm duke shkuar deri shtyjnë atë. 562 00:34:42,780 --> 00:34:45,670 Dhe ju jeni do të jetë në gjendje të shohin atë në qoftë se ju shkoni në Docker Hub 563 00:34:45,670 --> 00:34:48,587 Dhe ju hyni në, ju jeni do të jetë në gjendje për të parë atë. 564 00:34:48,587 --> 00:34:50,420 Dhe pastaj ju mund të vetëm pika kush po shkon 565 00:34:50,420 --> 00:34:52,750 për të përdorur këtë imazh për të shkuar dhe të tërheqë atë. 566 00:34:52,750 --> 00:34:55,460 Dhe ata mund ta përdorin atë. 567 00:34:55,460 --> 00:34:57,760 >> Me këtë, shpresojmë se Unë lloj i treguar 568 00:34:57,760 --> 00:35:01,230 sa e lehtë është për të punuar me Docker. 569 00:35:01,230 --> 00:35:06,610 Dhe unë jam vetëm do të jap atë përsëri në Mano. 570 00:35:06,610 --> 00:35:11,760 Dhe ai do të marrë atë nga këtu. 571 00:35:11,760 --> 00:35:13,990 >> MANO MARKS: Në rregull Faleminderit, faleminderit Nico. 572 00:35:13,990 --> 00:35:18,700 573 00:35:18,700 --> 00:35:20,614 Edhe çfarë? 574 00:35:20,614 --> 00:35:24,410 Pra, një nga gjërat që unë donte të bëni është vënë së bashku 575 00:35:24,410 --> 00:35:28,820 pse kjo është një important-- pse Docker dhe pse 576 00:35:28,820 --> 00:35:33,000 kontejnerët janë të tilla një zhvillim të ri të rëndësishëm, 577 00:35:33,000 --> 00:35:36,890 një mënyrë të re të vërtetë për ta bërë software. 578 00:35:36,890 --> 00:35:41,300 >> Dhe para se të bëj, unë jam duke shkuar për vetëm futur një stats pak. 579 00:35:41,300 --> 00:35:42,790 Unë nuk jam duke shkuar për të lexuar të gjitha këto. 580 00:35:42,790 --> 00:35:52,540 Por, kjo ju tregon shumë për mënyrën se si popullor kjo është në komunitet. 581 00:35:52,540 --> 00:35:56,310 Teknologjitë e Docker kryesore janë burim të hapur. 582 00:35:56,310 --> 00:36:03,560 Pra, kjo është Docker Engine, Shkruaj, Tufë, një bandë e sende të tjera 583 00:36:03,560 --> 00:36:05,210 është e gjitha burim të hapur. 584 00:36:05,210 --> 00:36:10,590 Dhe ne kemi, çfarë nuk kam thonë, 1300 kontribuesit. 585 00:36:10,590 --> 00:36:15,630 Ju jeni duke parë tani, në qoftë se ju shikoni në numri i vendeve të punës, hera e fundit 586 00:36:15,630 --> 00:36:19,640 kemi shikuar, ajo ishte rreth 43.000 punë hapje në mënyrë specifike përmendet 587 00:36:19,640 --> 00:36:22,230 familjaritet me Docker. 588 00:36:22,230 --> 00:36:26,450 Qindra miliona e imazheve të ketë janë shkarkuar nga Docker Hub. 589 00:36:26,450 --> 00:36:31,870 Dhe, edhe, statistikat shumë më të mëdha. 590 00:36:31,870 --> 00:36:34,770 >> Për ata që janë kurioz, atë fillimisht ishte shkruar në Python 591 00:36:34,770 --> 00:36:37,730 dhe pastaj rishkruar në Go. 592 00:36:37,730 --> 00:36:40,320 Dhe kjo ka qenë vetëm hapur source-- kjo është vetëm 593 00:36:40,320 --> 00:36:44,950 është liruar për rreth 2 dhe 1/2 vjet, që do të thotë se në 2 dhe 1/2 vjet, 594 00:36:44,950 --> 00:36:48,020 ne kemi parë një sasi të madhe e rritjes dhe rëndësia 595 00:36:48,020 --> 00:36:50,190 e kjo në komunitet. 596 00:36:50,190 --> 00:36:52,400 Dhe kështu që unë dua të flas pak në lidhje me pse. 597 00:36:52,400 --> 00:36:54,940 598 00:36:54,940 --> 00:36:59,880 >> Pra, vetëm për të përsëritur disa nga Pikat kyçe Nico, Docker është i shpejtë. 599 00:36:59,880 --> 00:37:00,630 Ai është i lëvizshëm. 600 00:37:00,630 --> 00:37:02,500 Ajo është e riprodhueshme. 601 00:37:02,500 --> 00:37:06,130 Dhe kjo krijon një ambient standarde. 602 00:37:06,130 --> 00:37:13,370 >> Dhe what-- kjo është mutit im zhdukur të monolite slide-- çfarë 603 00:37:13,370 --> 00:37:17,990 kjo është të ndihmuar njerëzit të bëjnë, e cila një shumë e industrinë e softuerit 604 00:37:17,990 --> 00:37:21,400 filluar duke bërë në fillim të viteve 2000, është duke lëvizur 605 00:37:21,400 --> 00:37:24,200 nga këto monolit Aplikacionet vetme 606 00:37:24,200 --> 00:37:28,590 ku çdo varësia duhej të ishte testuar para se të gjithë app kishte 607 00:37:28,590 --> 00:37:31,280 që do të vendoset, e cila mund të thotë një website 608 00:37:31,280 --> 00:37:36,240 vetëm u vendosur një herë çdo tre muaj, ose më shumë, 609 00:37:36,240 --> 00:37:42,650 për një shërbim shumë më tepër Arkitektura e orientuar 610 00:37:42,650 --> 00:37:46,090 ose tipi componentized ndryshme e arkitekturës aplikimit. 611 00:37:46,090 --> 00:37:48,610 Dhe kështu duke i lejuar këto lloj i arkitekturave 612 00:37:48,610 --> 00:37:52,250 që përfitojnë nga Docker për të kandiduar në këto tre 613 00:37:52,250 --> 00:37:58,450 Fushat kryesore të zhvillimit, të cilat është zhvillimi i shkruar kodin tuaj aktuale, 614 00:37:58,450 --> 00:38:00,140 testimin kodin tuaj, dhe vendosjen atë. 615 00:38:00,140 --> 00:38:03,000 616 00:38:03,000 --> 00:38:05,420 >> Pra, pse është kjo e rëndësishme? 617 00:38:05,420 --> 00:38:09,920 Nëse ju jeni a-- më lejoni të jap një shembull. 618 00:38:09,920 --> 00:38:13,600 Nëse ju jeni një website zhvilluesi pajisje, ju jeni 619 00:38:13,600 --> 00:38:19,020 zhvillimin e një faqe interneti që e bazuar në bazë të dhënash që Davidi prodhuar mbi këtu. 620 00:38:19,020 --> 00:38:20,490 Na vjen keq Davidi, unë jam duke bërë thirrje ju. 621 00:38:20,490 --> 00:38:22,984 622 00:38:22,984 --> 00:38:24,900 Në qoftë se ju të kërkuar për të vendosur gjithë gjë, ju do të 623 00:38:24,900 --> 00:38:28,870 duhet të presin në një tradicionale zhvillimit të softuerit monolit 624 00:38:28,870 --> 00:38:32,710 Mjedisi, ju do të duhet të presin derisa ai ishte bërë me bazën e të dhënave 625 00:38:32,710 --> 00:38:36,030 para se ju mund të bëjë në fakt çdo ndryshim në faqen tuaj te internetit. 626 00:38:36,030 --> 00:38:40,900 Ju do të keni për të rivendosur tërë kërkesë për ta bërë këtë. 627 00:38:40,900 --> 00:38:45,490 >> Dhe çfarë Docker ju ndihmon të bëni është të çdo Puna personi në komponentë të ndryshëm 628 00:38:45,490 --> 00:38:52,990 dhe përditësimin e tyre si ata të shkojnë, vetëm duke e bërë Sigurohuni që interfaces të qëndrojnë të njëjta. 629 00:38:52,990 --> 00:38:56,350 Pra, çfarë ka bërë është ajo e zhvendosur njerëz 630 00:38:56,350 --> 00:39:03,950 nga duke bërë këto monolite masiv software architected se 631 00:39:03,950 --> 00:39:07,610 vendosur çdo muaj në një të vazhdueshëm integrimi dhe zhvillimi i vazhdueshëm 632 00:39:07,610 --> 00:39:08,490 mjedis. 633 00:39:08,490 --> 00:39:12,580 >> Tani kjo nuk është unike për Docker, por Docker bën atë në mënyrë shumë më të lehtë, 634 00:39:12,580 --> 00:39:16,620 që do të thotë ju jeni në thelb vazhdimisht vendosjen. 635 00:39:16,620 --> 00:39:20,690 Ne flasim për ndërmarrjet që janë vendosjen e aplikacioneve të cilat përballet publike 636 00:39:20,690 --> 00:39:30,180 mijëra herë në ditë, sepse ata e shohin vlerën në vetëm duke bërë 637 00:39:30,180 --> 00:39:33,740 ndryshime të vogla, dhe për sa kohë si ajo shkon përmes testeve, 638 00:39:33,740 --> 00:39:35,900 lënë të dalë në prodhim. 639 00:39:35,900 --> 00:39:41,890 Nico ishte gjithmonë më thoshte më herët se në shumë mjedise, 640 00:39:41,890 --> 00:39:46,580 cikli standardi jeta e një enë është i matur në sekonda, 641 00:39:46,580 --> 00:39:50,460 ndërsa një makinë virtuale mund të matet në muaj. 642 00:39:50,460 --> 00:39:54,590 643 00:39:54,590 --> 00:39:58,690 >> Unë të kërkuar për të marrë një të vogël kthehen këtu, sepse unë jam i 644 00:39:58,690 --> 00:40:00,170 në një institucion arsimor. 645 00:40:00,170 --> 00:40:06,670 Unë të kërkuar për të dhënë një shembull se si kjo punon në një hulumtim edukativ 646 00:40:06,670 --> 00:40:07,670 gjendja. 647 00:40:07,670 --> 00:40:10,930 Kështu që nuk ka një organizatë quajtur bioboxes. 648 00:40:10,930 --> 00:40:15,450 Bioboxes bën ADN Analiza për hulumtuesit. 649 00:40:15,450 --> 00:40:22,029 >> Tani ajo që ata gjetën ishte se kur një researcher-- dhe kjo nuk është e 650 00:40:22,029 --> 00:40:24,070 faji i ndonjë të veçantë researcher-- por kur 651 00:40:24,070 --> 00:40:31,240 një studiues vendosur një algoritmi për të analizuar, 652 00:40:31,240 --> 00:40:36,670 Në mënyrë të veçantë, një mostër ADN-së, ata do të shkruajnë software, 653 00:40:36,670 --> 00:40:39,980 publikojë që, ndoshta për Github apo diku tjetër, 654 00:40:39,980 --> 00:40:42,680 dhe atëherë ata ishin bërë. 655 00:40:42,680 --> 00:40:47,440 >> E pra problemi ishte se ajo nuk ishte domosdoshmërisht riprodhueshme. 656 00:40:47,440 --> 00:40:51,610 Sepse në mënyrë që të kuptojnë software, 657 00:40:51,610 --> 00:40:54,830 ata do të ngrihet për Mjedisi saktë të zhvillimit 658 00:40:54,830 --> 00:41:00,460 se kjo studiues përdorur, zakonisht laptop e tyre, ose nje server, ose nje dhënat 659 00:41:00,460 --> 00:41:04,280 qendrës se ata ishin duke përdorur. 660 00:41:04,280 --> 00:41:11,530 Dhe si pasojë, ishte shumë e vështirë për të riprodhuar rezultatet e hulumtimit kur 661 00:41:11,530 --> 00:41:16,910 analizuar mostrat e ADN-së për të kërkuar në gjëra të tilla si incidence-- 662 00:41:16,910 --> 00:41:23,830 krahasoni rastet e sulmeve të zemrës bazuar në gjenet e caktuara të qenë të pranishëm, 663 00:41:23,830 --> 00:41:28,900 për shembull, apo rrezikut të kancerit, apo ndonjë nga llojet e tjera të gjërave. 664 00:41:28,900 --> 00:41:33,900 >> Pra, në vend atë që ata vepruan ishte ata filluan të krijojnë kontejnerë. 665 00:41:33,900 --> 00:41:39,380 Dhe ju mund të shkoni në bioboxes.org, kjo është një organizatë e madhe. 666 00:41:39,380 --> 00:41:43,900 Dhe atë që ata bëjnë është se ata prodhojnë Kontejnerët bazuar në hulumtimet. 667 00:41:43,900 --> 00:41:46,840 Dhe pastaj kur dikush e dërgon në mostër e tyre, ata mund të kandidojë atë. 668 00:41:46,840 --> 00:41:52,770 Dhe kjo ka të gjitha ambient të e nevojshme për të drejtuar atë algorithm 669 00:41:52,770 --> 00:41:55,370 dhe të prodhojë rezultate. 670 00:41:55,370 --> 00:41:58,250 Dhe ata janë gjetur se ata janë shumë më shumë gjasa dhe shumë 671 00:41:58,250 --> 00:42:01,300 më shpejt në gjendje të kthehen rezultatet për njerëzit. 672 00:42:01,300 --> 00:42:06,860 >> Dhe në fakt, ajo që njerëzit janë duke bërë të vrapojnë analizat e tyre mbi ADN, 673 00:42:06,860 --> 00:42:11,220 dërguar që në të bioboxes, dhe pastaj biobox vetëm merr të dhënat, 674 00:42:11,220 --> 00:42:15,350 drejton atë kundër ndryshme kontejnerët e ndryshme 675 00:42:15,350 --> 00:42:19,030 të shohin rezultate të ndryshme bazuar në hulumtimet e ndryshme. 676 00:42:19,030 --> 00:42:21,860 Pra, kjo është një shumë e fuqishme mënyra në të cilën studiuesit 677 00:42:21,860 --> 00:42:28,070 mund të bëjë një shembull të vetëm që lejon njerëz të tjerë për të përpiqen dhe të riprodhoni 678 00:42:28,070 --> 00:42:28,650 rezultatet. 679 00:42:28,650 --> 00:42:31,710 680 00:42:31,710 --> 00:42:34,360 >> Pra, si ju merrni filluar? 681 00:42:34,360 --> 00:42:37,950 682 00:42:37,950 --> 00:42:39,800 Ne jemi të mbështetur mirë në Linux. 683 00:42:39,800 --> 00:42:43,070 Pra, nëse ju dëshironi të instaloni çdo gjë në Linux, 684 00:42:43,070 --> 00:42:45,620 ju përdorni standardin tuaj menaxher paketë për të instaluar. 685 00:42:45,620 --> 00:42:47,600 Nëse jeni duke përdorur një Debian, kjo të Get Apt. 686 00:42:47,600 --> 00:42:50,500 CentOS është yum. 687 00:42:50,500 --> 00:42:53,500 Fedora Red Hat është rpm-- Unë nuk e mbani mend. 688 00:42:53,500 --> 00:42:56,070 Gjithsesi, kjo është e gjitha atje. 689 00:42:56,070 --> 00:42:59,610 Ne mbështesim një larmi të madhe e shpërndarjeve Linux. 690 00:42:59,610 --> 00:43:01,150 Ju mund të kontrolloni ato jashtë. 691 00:43:01,150 --> 00:43:06,370 >> Ne gjithashtu kemi mundësi kështu që ju mund të kandidojë në Mac ose Windows. 692 00:43:06,370 --> 00:43:10,670 Tani Nico përmendur më herët se ajo u mbështet vetëm në Linux. 693 00:43:10,670 --> 00:43:18,180 Kjo është e vërtetë sepse ajo ka nevojë për një kernel Linux. 694 00:43:18,180 --> 00:43:20,540 Por, ju mund të kandidojë në një makinë virtuale. 695 00:43:20,540 --> 00:43:25,290 Dhe çfarë Docker Toolbox bën, të cilat ju mund të shkarkoni, 696 00:43:25,290 --> 00:43:27,610 kjo ju jep atë makinë virtuale. 697 00:43:27,610 --> 00:43:37,260 >> Pra, vetëm një të shpejtë 48 Së dyti, unë mendoj, shkarko. 698 00:43:37,260 --> 00:43:40,670 Ju vetëm kërkoni në Docker Veglave, ta shkarkuar atë në Mac, 699 00:43:40,670 --> 00:43:43,910 dhe kjo pjesë është e Sigurisht përshpejtuar sepse kush 700 00:43:43,910 --> 00:43:47,620 dëshiron të shikojë një sinjal shkarko? 701 00:43:47,620 --> 00:43:54,190 Instalimi standarde Mac, dhe pastaj ju jeni 702 00:43:54,190 --> 00:43:59,795 do të shohim Jerome vënë në fjalëkalimin e tij. 703 00:43:59,795 --> 00:44:00,670 Kjo është shumë emocionuese. 704 00:44:00,670 --> 00:44:03,510 705 00:44:03,510 --> 00:44:06,230 Dhe pastaj instalon një tërë bandë e mjeteve. 706 00:44:06,230 --> 00:44:10,010 Dhe veçanërisht kjo do të instaluar një command line. 707 00:44:10,010 --> 00:44:14,220 Dhe pastaj ju mund të shihni Jerome testimi imazhet e tij. 708 00:44:14,220 --> 00:44:19,050 709 00:44:19,050 --> 00:44:22,640 >> Dhe pastaj në bazë të kësaj, ju mund të shihni se YouTube 710 00:44:22,640 --> 00:44:27,420 mendon se Nico është i interesuar në Star Wars, tregojnë Jimmy Kimmel, 711 00:44:27,420 --> 00:44:29,020 dhe unë mendoj Ellen. 712 00:44:29,020 --> 00:44:34,130 Unë mendoj se e fundit është një klip nga një shfaqje Ellen. 713 00:44:34,130 --> 00:44:37,760 >> Pra Docker Toolbox pse vjen me më shumë se vetëm Machine Docker. 714 00:44:37,760 --> 00:44:39,840 Pra Docker Machine është gjë që ndihmon 715 00:44:39,840 --> 00:44:43,710 ju ngritur një virtuale makinë në Windows tuaj 716 00:44:43,710 --> 00:44:52,080 ose Mac-- kutinë tuaj Windows ose Mac tuaj box-- dhe ju ndihmon të bëni sigurimin, 717 00:44:52,080 --> 00:44:54,040 >> Por ajo gjithashtu vjen me Tufë dhe shkruaj, 718 00:44:54,040 --> 00:45:00,840 të cilat janë projektuar për t'ju ndihmuar të bëni të madh vendosjet shkallë e aplikimit tuaj. 719 00:45:00,840 --> 00:45:04,000 Pra, nëse ju doni të menaxhuar vile nyje, 720 00:45:04,000 --> 00:45:08,450 vile kontejnerëve, Harto dhe Swarm janë rruga për të shkuar në lidhje me atë. 721 00:45:08,450 --> 00:45:11,430 >> Dhe sigurisht ajo vjen me Docker Engine dhe Kitematic, 722 00:45:11,430 --> 00:45:13,250 e cila është ky GUI desktop. 723 00:45:13,250 --> 00:45:17,060 Unë duhet të përmend Docker Regjistrit, e cila nuk është përfshirë në Toolbox, 724 00:45:17,060 --> 00:45:23,150 por kjo është një mënyrë për ju për të drejtuar tuaj Regjistrat e Images Docker si Docker 725 00:45:23,150 --> 00:45:28,970 Hub, por ju gjithashtu mund të përdorni vetëm Docker Hub si një mënyrë për të bërë atë. 726 00:45:28,970 --> 00:45:32,955 >> Dhe, komplot kthesë, ju jeni duke parë ajo konkurrojnë në një enë. 727 00:45:32,955 --> 00:45:34,830 Dhe kjo është se si ne jemi shpërndarjen slides tona. 728 00:45:34,830 --> 00:45:38,610 Ky prezantim tërë është në fakt një kuvertë rrëshqitje HTML. 729 00:45:38,610 --> 00:45:43,170 Dhe ajo po kandidon në një enë, të cilat ju mund të merrni by-- 730 00:45:43,170 --> 00:45:45,596 >> Nicola Kabar: Po, kështu është running kohë të plotë në Max tim. 731 00:45:45,596 --> 00:45:47,540 Dhe unë jam paraqitur prej saj. 732 00:45:47,540 --> 00:45:50,910 Dhe ju vetëm bëni Docker pas ju instaloni Toolbox tuaj. 733 00:45:50,910 --> 00:45:57,340 Ju vetëm mund të bëjë një të kandidojë Docker dhe për të marrë atë, dhe të përdorin slides. 734 00:45:57,340 --> 00:45:58,830 >> MANO Marks: Dhe kjo është ajo. 735 00:45:58,830 --> 00:46:02,160 Pra, ne ju falënderoj të gjithëve për të ardhur. 736 00:46:02,160 --> 00:46:03,990 Dhe ne jemi të lumtur për t'iu përgjigjur pyetjeve. 737 00:46:03,990 --> 00:46:07,810 Unë duhet të përmend para askujt lë nuk ka T-shirts atje. 738 00:46:07,810 --> 00:46:10,940 Na vjen keq dikush i cili është shikuar kjo në Livestream ose video, 739 00:46:10,940 --> 00:46:12,820 por ne kemi Docker T-shirts atje. 740 00:46:12,820 --> 00:46:16,250 Dhe ne e dimë studentë Docker, dhe në përvojën time, 741 00:46:16,250 --> 00:46:18,940 profesorë shumë, si veshje të lirë. 742 00:46:18,940 --> 00:46:22,490 >> Pra, ju faleminderit të gjithëve për të ardhur nga. 743 00:46:22,490 --> 00:46:27,050 Dhe na ndiqni në Twitter në qoftë se ju dëshironi, apo jo. 744 00:46:27,050 --> 00:46:27,910 Unë nuk e kujdesit. 745 00:46:27,910 --> 00:46:29,430 Gjithashtu të ndjekë Docker në Twitter. 746 00:46:29,430 --> 00:46:31,890 Kjo është gjithashtu interesante. 747 00:46:31,890 --> 00:46:32,990 Dhe pastaj kjo është ajo. 748 00:46:32,990 --> 00:46:33,490 Docker.com. 749 00:46:33,490 --> 00:46:35,410 Faleminderit. 750 00:46:35,410 --> 00:46:39,360 >> [Duartrokitje] 751 00:46:39,360 --> 00:46:41,625