1 00:00:00,000 --> 00:00:05,042 >> [MUZIKO Ludante] 2 00:00:05,042 --> 00:00:06,000 DAVID Malan: Bone. 3 00:00:06,000 --> 00:00:07,630 Dankon tiom por veni. 4 00:00:07,630 --> 00:00:11,850 Jen CS50 seminario pri Docker, a teknologio ke ni mem kaj CS50 5 00:00:11,850 --> 00:00:13,392 ili komencis uzi por iu tempo nun. 6 00:00:13,392 --> 00:00:15,766 Do mia nomo estas David Malan, mi instrui Harvard Enkonduko 7 00:00:15,766 --> 00:00:16,671 Computer Science. 8 00:00:16,671 --> 00:00:18,670 Por sufiĉe iuj jaroj, ni estis donanta studentoj 9 00:00:18,670 --> 00:00:20,435 elŝuteblaj kliento-flanko virtualaj maŝinoj 10 00:00:20,435 --> 00:00:22,134 sur kiu ili fari iliajn problemojn aroj. 11 00:00:22,134 --> 00:00:24,300 Ke ni nun transitioneis al Nubo medio 12 00:00:24,300 --> 00:00:27,396 ke reale uzas tiun teknologion nomata Docker, tia ke ĉiuj CS50 13 00:00:27,396 --> 00:00:29,270 studentoj nun havas sian propra Docker ujoj 14 00:00:29,270 --> 00:00:31,180 ke vi baldaŭ aŭdos ĉion. 15 00:00:31,180 --> 00:00:33,740 >> Plie, sur CS50 la servilo flanko grapolo, dum multaj jaroj 16 00:00:33,740 --> 00:00:35,290 ni uzis Amazon Cloud servilo. 17 00:00:35,290 --> 00:00:37,164 Ni kuradis individua virtualaj maŝinoj. 18 00:00:37,164 --> 00:00:40,330 Ankaŭ tio, ni komencis al transiro al tion nomis Docker ujoj 19 00:00:40,330 --> 00:00:43,762 por ke ĉiuj niaj aplikoj estas nun perfekte izolita de unu la alian. 20 00:00:43,762 --> 00:00:46,720 Do por tio kaj pli, permesi min enkonduki niajn amikojn, Nico kaj Mano, 21 00:00:46,720 --> 00:00:48,574 el Docker mem. 22 00:00:48,574 --> 00:00:49,740 Nicola Kabar: Dankon, David. 23 00:00:49,740 --> 00:00:51,410 Saluton al ĉiuj. 24 00:00:51,410 --> 00:00:54,230 Mia nomo estas Nico kaj tiu estas la Mano. 25 00:00:54,230 --> 00:00:58,260 Ni estas el Docker. 26 00:00:58,260 --> 00:01:02,240 Ni tuj parolos about-- donante vin uloj intro por Docker, 27 00:01:02,240 --> 00:01:08,100 Kaj espereble, al la fino de tiu diskuto vi povas realigi 28 00:01:08,100 --> 00:01:12,890 kiom vi povas uzi kuracisto oxalato via apliko disvolviĝo 29 00:01:12,890 --> 00:01:14,200 kaj deplojo. 30 00:01:14,200 --> 00:01:21,250 >> Do, ni tuj dividi reala rapida kun iu fono informo. 31 00:01:21,250 --> 00:01:22,750 Priskribi kion Docker temas. 32 00:01:22,750 --> 00:01:25,490 Kiel ĝi funkcias? 33 00:01:25,490 --> 00:01:27,400 Kial architected? 34 00:01:27,400 --> 00:01:29,360 Mi estos faranta kelkajn demonstraĵojn. 35 00:01:29,360 --> 00:01:35,070 Kaj Mano tuj estos priskribante kiel vi povas uzi Docker 36 00:01:35,070 --> 00:01:37,720 kaj donante al vi specifajn paŝojn kiel vi povas komenci. 37 00:01:37,720 --> 00:01:41,490 >> Mi aprezus se vi infanoj povas teni ekstere por viaj demandoj al la fino. 38 00:01:41,490 --> 00:01:46,800 Tiel, mi estu alparolante tiuj demandoj tra la prezento. 39 00:01:46,800 --> 00:01:52,150 Do ni restigos tempo direkte al la fino por demandoj. 40 00:01:52,150 --> 00:01:55,170 >> Do ĝuste reala rapida, kiuj havas fakte iam laboris sur Docker, 41 00:01:55,170 --> 00:01:56,850 kiel ludis kun ĝi? 42 00:01:56,850 --> 00:01:58,000 Imponega. 43 00:01:58,000 --> 00:01:58,520 Malvarmeta. 44 00:01:58,520 --> 00:01:59,817 Granda. 45 00:01:59,817 --> 00:02:01,525 Do, mi tuj komencos kun iu historio. 46 00:02:01,525 --> 00:02:04,350 47 00:02:04,350 --> 00:02:09,820 Do reen en la '90aj jaroj kaj fruaj 2000-aj jaroj, esence 48 00:02:09,820 --> 00:02:16,940 kiel desarrolladores retejo, app programistoj, Ili iris al disfaldi apliko 49 00:02:16,940 --> 00:02:19,350 ĝi estis ligita al naskis metalo. 50 00:02:19,350 --> 00:02:20,860 Ĝi estis unu servilo. 51 00:02:20,860 --> 00:02:22,870 Ĝi estis unu apliko. 52 00:02:22,870 --> 00:02:25,260 >> Tradicie, ekzemplo estus kiel LAMP stack, 53 00:02:25,260 --> 00:02:30,630 kie vi efektive devis alportu la lageton de rimedoj. 54 00:02:30,630 --> 00:02:37,110 CPU, memoro, disko, reto, instalo operaciumo Aldonigxis. 55 00:02:37,110 --> 00:02:40,060 Se vi servanta ion, se vi fakte havante retservilo, 56 00:02:40,060 --> 00:02:42,470 vi bezonas iun kiel Apache servi ĝin. 57 00:02:42,470 --> 00:02:47,540 >> Se via aplikaĵo bezonas datumbazon, Backhand, 58 00:02:47,540 --> 00:02:50,840 vi instalus ion kiel MySQL, kaj tiel plu. 59 00:02:50,840 --> 00:02:55,910 Kaj se vi bezonas la tempo de ekzekuto, PHPs kaj PHP Python laboro estis tie. 60 00:02:55,910 --> 00:02:59,480 Kaj do ni efektive devis preni tiujn paŝojn por 61 00:02:59,480 --> 00:03:02,060 akiri vian aplikon supre kaj kuranta. 62 00:03:02,060 --> 00:03:08,440 >> Se vi bezonas pli komputas potencon, vi resume devis nomi vian Ops ulo 63 00:03:08,440 --> 00:03:16,260 aŭ gal iri kaj rako supre nova peco de aparataro, konektantaj, 64 00:03:16,260 --> 00:03:19,850 kaj vi devas ripeti tiujn procezoj denove kaj denove. 65 00:03:19,850 --> 00:03:23,680 Do tiu procezo estis relative multekostaj. 66 00:03:23,680 --> 00:03:26,080 Estis sendube tre malrapida. 67 00:03:26,080 --> 00:03:27,550 >> Estis ineficiente. 68 00:03:27,550 --> 00:03:33,890 Kaj en multaj kazoj, via aparataro estis infrautilizadas. 69 00:03:33,890 --> 00:03:38,830 Do, en la malfruaj 90'oj kaj fruaj 2000-aj jaroj, aparataro virtualización renkontis. 70 00:03:38,830 --> 00:03:42,475 Kaj kiel vi povas vidi tie en la bildo, esence kion ili faris 71 00:03:42,475 --> 00:03:46,390 estas distrita la lageto libera aparataro rimedoj 72 00:03:46,390 --> 00:03:49,680 kaj ia funkciis tiuj al la supraj tavoloj, 73 00:03:49,680 --> 00:03:52,360 tiukaze, gasta operaciumo. 74 00:03:52,360 --> 00:03:54,940 >> Kaj la tuta ideo de virtualaj maŝinoj trovis 75 00:03:54,940 --> 00:03:59,110 kaj tio vere helpis Nubo komputado kiel ni konas ĝin hodiaŭ. 76 00:03:59,110 --> 00:04:02,730 Do kion tio signifas estas vi povas kuri multnombraj VMS, kiu 77 00:04:02,730 --> 00:04:06,720 signifis multoblajn stakojn, multoblaj apliko sur sama fizika maŝino. 78 00:04:06,720 --> 00:04:10,570 79 00:04:10,570 --> 00:04:16,440 >> Tiu sendube helpis kun la rapido de apliko deplojo. 80 00:04:16,440 --> 00:04:17,629 Definitive kun elspezoj. 81 00:04:17,629 --> 00:04:22,810 Vi ne devas iri kaj pasigi energion, tempon kaj rimedojn al rako 82 00:04:22,810 --> 00:04:26,210 pli serviloj atingi pli komputi. 83 00:04:26,210 --> 00:04:30,950 Kaj la rapido de reale alportanta tiujn rimedojn supre estas multe pli rapida. 84 00:04:30,950 --> 00:04:31,450 Granda. 85 00:04:31,450 --> 00:04:34,320 >> Do ni solvita monda malsato, dekstra? 86 00:04:34,320 --> 00:04:36,390 Ne, ne vere. 87 00:04:36,390 --> 00:04:42,410 Do, virtualización kiom ĝi estas vere helpis, la problemon, 88 00:04:42,410 --> 00:04:45,460 ĝi fakte enkondukis multajn defiojn. 89 00:04:45,460 --> 00:04:49,210 La hypervisor definitive enkondukis multajn komplekseco, 90 00:04:49,210 --> 00:04:53,820 manipuli tiujn subkuŝanta pool de rimedoj. 91 00:04:53,820 --> 00:04:57,910 >> Ĝi estas pli peza en la senco ke antaŭe vi havis solan mastruman sistemon kiu 92 00:04:57,910 --> 00:05:01,830 estas kiel tri, kvar koncertoj surdiske. 93 00:05:01,830 --> 00:05:04,230 Nun, se vi havas 10 maŝinoj sur ununura aparataro 94 00:05:04,230 --> 00:05:09,060 vi devas multipliki ke laux la nombro de maŝinoj. 95 00:05:09,060 --> 00:05:11,440 Ĝi estas sendube pli multekosta iusence vi ankoraŭ 96 00:05:11,440 --> 00:05:14,430 devas akiri licencoj por la virtualización teknologio 97 00:05:14,430 --> 00:05:18,210 se ĝi ne estas malferma fonto. 98 00:05:18,210 --> 00:05:21,120 >> Sed, ni ne prenos la tutan kredito de virtualización. 99 00:05:21,120 --> 00:05:27,530 Ĉar kio okazis estas ekzistas multaj stakoj kaj multan programaro 100 00:05:27,530 --> 00:05:33,900 teknologioj kiuj ebligis per kiom rapide vi povis ricevi 101 00:05:33,900 --> 00:05:38,040 al rimedoj kun la Nubo eksplodo. 102 00:05:38,040 --> 00:05:46,675 >> Do, hodiaŭ ununuran app aŭ servo povas estos uzante ajnan el la sekvaj runtimes 103 00:05:46,675 --> 00:05:47,216 aŭ datumbazoj. 104 00:05:47,216 --> 00:05:50,250 105 00:05:50,250 --> 00:05:56,070 PHP, Python, MySQL, Redis, whatnot. 106 00:05:56,070 --> 00:05:59,740 Do ekzistas multaj komplekseco sur tiu nombro de stakoj por fakte elvoku 107 00:05:59,740 --> 00:06:02,210 sola servo. 108 00:06:02,210 --> 00:06:07,300 Kaj kune kun tio, vi havis multan suba rimedoj aŭ infrastrukturo 109 00:06:07,300 --> 00:06:15,210 tipoj testi disfaldi kaj esence preni al produktado tiuj aplikoj 110 00:06:15,210 --> 00:06:16,900 ke vi evoluiganta. 111 00:06:16,900 --> 00:06:21,950 >> Precipe cxar viaj teamoj havas kreskinta laboras pri tiuj apps, 112 00:06:21,950 --> 00:06:25,310 ekzistas multe de komplekseco kaj defioj 113 00:06:25,310 --> 00:06:31,660 kiuj elkreskis certigi ke la cycle-- esence apliko 114 00:06:31,660 --> 00:06:34,040 disvolviĝo ciklo, estas fakte sukcesa. 115 00:06:34,040 --> 00:06:40,440 Do, la fakto ke via aplikaĵo laboras loke sur via loka VM 116 00:06:40,440 --> 00:06:47,480 ne garantias ke via kolego tuj atendas la samajn rezultojn. 117 00:06:47,480 --> 00:06:51,330 >> Kaj kiam la operacioj teamo estas implikita en preni kion vi havas 118 00:06:51,330 --> 00:06:54,480 kaj deplojante ĝin en produktado skalo, ankaŭ ne estas garantio 119 00:06:54,480 --> 00:06:56,730 ke tio efektive okazos. 120 00:06:56,730 --> 00:07:00,900 Do tiu nin lasas kun vere big-- multajn demandosignojn, 121 00:07:00,900 --> 00:07:07,700 multajn defiojn reale alfrontis simile reen en la tagoj. 122 00:07:07,700 --> 00:07:12,280 Kaj tio memorigis nin pri la ekspeda industrio. 123 00:07:12,280 --> 00:07:14,280 >> Do la ekspeda industrio havis multajn posedaĵojn, 124 00:07:14,280 --> 00:07:16,190 kiel vi povas vidi sur la maldekstra flanko. 125 00:07:16,190 --> 00:07:19,840 Kaj sur la dekstra flanko, ekzistas multe de, esence, 126 00:07:19,840 --> 00:07:22,160 manierojn sxipo tiuj varoj. 127 00:07:22,160 --> 00:07:26,040 Kaj kio okazas kiel paro uloj kunvenis kaj diris: 128 00:07:26,040 --> 00:07:29,600 ni devas normigi kiel ni fakte sxipo tiuj varoj. 129 00:07:29,600 --> 00:07:33,280 Kaj eksplodo, vi havas la Intermodal shipping ujo. 130 00:07:33,280 --> 00:07:38,970 >> Do ili interkonsentis pri la plej komunaj grandecoj por la ujo. 131 00:07:38,970 --> 00:07:40,160 Kiel manipuli ilin. 132 00:07:40,160 --> 00:07:44,560 Kio ĝusta metodo vi bezonas ŝarĝi ilin kaj malŝarĝi ilin. 133 00:07:44,560 --> 00:07:49,590 Kaj tial, ke vere helpis la ekspeda industrio. 134 00:07:49,590 --> 00:07:55,250 Nun pli ol 90% fokuso transportis tutmonde abonas tiujn kontenerojn. 135 00:07:55,250 --> 00:08:01,010 Kaj tio sendube malpliigas la elspezoj tiel kiel 136 00:08:01,010 --> 00:08:03,400 la damaĝoj pro sendokosto. 137 00:08:03,400 --> 00:08:09,660 >> Do ni prenu la sama modelo kaj ni aplikas la du app disvolviĝo programaro 138 00:08:09,660 --> 00:08:13,080 arkitekturo, en la senco ke containerization 139 00:08:13,080 --> 00:08:15,842 prenis la virtualización supren unu nivelon. 140 00:08:15,842 --> 00:08:17,800 Do anstataŭ fari ke ĉe la aparataro nivelo, 141 00:08:17,800 --> 00:08:22,060 ĝi iĝis pli de mastruma sistemo nivelo virtualización. 142 00:08:22,060 --> 00:08:26,450 >> Kaj ni faras tion per provizi ĉiun aplikon en lia propra malpeza, 143 00:08:26,450 --> 00:08:31,180 izolita, ajn estas ebla, kaj portable, plej grave, 144 00:08:31,180 --> 00:08:35,049 maniero por fakte paki ĉiu kiu bezonu por funkcii. 145 00:08:35,049 --> 00:08:36,100 Ie ĝi povas kuri. 146 00:08:36,100 --> 00:08:42,039 Do, sendepende se vi uzas gxin sur lokaj dev medio, via produktado 147 00:08:42,039 --> 00:08:44,490 medio, vian surscenigo aŭ testado. 148 00:08:44,490 --> 00:08:47,700 Neniu gravi kion subkuŝanta infrastrukturo estas tie, 149 00:08:47,700 --> 00:08:51,410 vi havis funkcian labori programon. 150 00:08:51,410 --> 00:08:54,100 151 00:08:54,100 --> 00:09:01,800 >> Do jen precize kio esence ujoj faru al tiu problemo. 152 00:09:01,800 --> 00:09:04,070 Ili traktas ĝin pakita ĝin en tia maniero 153 00:09:04,070 --> 00:09:09,490 ke ĝi povas garantii ke ĝi estas disfaldita sukcese negrave kie vivas. 154 00:09:09,490 --> 00:09:12,120 Do se vi tuj kiel, Bob estas ankoraŭ OK. 155 00:09:12,120 --> 00:09:17,860 Se vi konfuzita kun kion mi diras, Mi tuj estos ellabori sur tio. 156 00:09:17,860 --> 00:09:20,900 >> Do kiel faras Docker mem konveni en tiu bildo? 157 00:09:20,900 --> 00:09:26,335 Do Docker estas malferma platformo facile, elstari facile, 158 00:09:26,335 --> 00:09:30,500 konstrui ŝipon, kuri, malpeza porteblaj memo 159 00:09:30,500 --> 00:09:33,440 sufiĉa app ujoj ie. 160 00:09:33,440 --> 00:09:37,660 Do se vi prenos ion el ĉi diskuto, bonvolu preni la sekvan. 161 00:09:37,660 --> 00:09:40,980 >> Se vi havas via app kurado loke kaj vi evoluigis ĝin 162 00:09:40,980 --> 00:09:45,930 en uzi la platformon Docker, atendi ĝi esti sukcese deplojita. 163 00:09:45,930 --> 00:09:49,380 Ne gravas kio estas la subesta infrastrukturo. 164 00:09:49,380 --> 00:09:53,830 Do se vi havas Docker ujo kaj ĝi laboras, tiam 165 00:09:53,830 --> 00:09:58,130 dum ekzistas Docker motoro sur la alia side-- 166 00:09:58,130 --> 00:10:02,190 se via operacio infrastrukturo estas uzanta ajnan Nubo, ĉu ĝi 167 00:10:02,190 --> 00:10:06,680 estas AWS, aŭ Google aŭ Microsoft, aŭ iu el la publikaj Nuboj, 168 00:10:06,680 --> 00:10:10,010 aŭ via propra Nubo, aŭ via malferma pilo Nubo aŭ via loka medio. 169 00:10:10,010 --> 00:10:11,970 >> Se vi havos motoron kurante, ke pere 170 00:10:11,970 --> 00:10:14,537 ĝi tuj estu sukcese deplojis tie. 171 00:10:14,537 --> 00:10:16,620 Ĝi tuj estos kurante ĝuste la sama konduto 172 00:10:16,620 --> 00:10:21,480 kiel vi architected ĝin esti. 173 00:10:21,480 --> 00:10:26,080 Do se ni rigardas at-- Mi tuj iri tra kio reale 174 00:10:26,080 --> 00:10:29,160 estas en la ĉefaj komponantoj de Docker. 175 00:10:29,160 --> 00:10:31,060 >> Do Engine estas ĉe la kerno de Docker. 176 00:10:31,060 --> 00:10:32,770 Estas la cerbo. 177 00:10:32,770 --> 00:10:39,360 Ĝi orchestrates konstruaĵo, ekspedo, kaj deploji kaj administri 178 00:10:39,360 --> 00:10:41,570 la ujoj mem. 179 00:10:41,570 --> 00:10:45,160 Mi elfosos en kio Engine faras en pli detaloj en sekundo. 180 00:10:45,160 --> 00:10:47,740 181 00:10:47,740 --> 00:10:51,720 Esence, ĉar doktoro estis konstruita ĉirkaŭ la kliento servilo arkitekturoj, 182 00:10:51,720 --> 00:10:56,630 do por interagi kun la Engine vi bezonas iun specon de kliento. 183 00:10:56,630 --> 00:11:01,200 >> Bildoj estas la ŝablonoj en kiun ujoj estas konstruita el. 184 00:11:01,200 --> 00:11:06,800 Do bildoj estas esence nur statika dosierojn. 185 00:11:06,800 --> 00:11:08,740 Ŝablonoj kaj ujoj estas fakte kio estas 186 00:11:08,740 --> 00:11:12,280 kuras je ekzekuto ke servas via aplikaĵo 187 00:11:12,280 --> 00:11:15,150 aŭ fari iun kun la datumoj. 188 00:11:15,150 --> 00:11:19,020 >> Registro estas adresita kiel problemo de kiom vi efektive distribui bildoj. 189 00:11:19,020 --> 00:11:23,230 Do se vi bezonas dividi bildon ke vi laboris sur al via kolego 190 00:11:23,230 --> 00:11:27,220 nek ops teamo, vi uzi ĝin uzante Registro. 191 00:11:27,220 --> 00:11:31,720 Vi povas elŝuti malferman fonton versio de ĝi ke Docker prilaboris 192 00:11:31,720 --> 00:11:33,150 kaj malfermos fontmarkitaj. 193 00:11:33,150 --> 00:11:38,040 >> Aŭ vi povas uzi Docker helpo, kiu estas la Nubo versio 194 00:11:38,040 --> 00:11:40,130 puŝi kaj tiri bildojn tie. 195 00:11:40,130 --> 00:11:41,160 Tio estas grandega afero. 196 00:11:41,160 --> 00:11:44,520 Ĉar estas grandega ekosistemo ĉirkaŭ Docker kaj ĝi estas 197 00:11:44,520 --> 00:11:48,960 vere peze utiliganta la nabo. 198 00:11:48,960 --> 00:11:59,780 >> Do por resumi tie, jen kiel la minimalista Docker laborfluo kliento. 199 00:11:59,780 --> 00:12:04,040 Vi interagi kun la gastiganto, en tiu kazo ĝi estas la Docker demonoj. 200 00:12:04,040 --> 00:12:06,490 Estas la sama afero kiel Engine. 201 00:12:06,490 --> 00:12:09,690 Vi do komandojn kiel Docker konstrui, tiri, run. 202 00:12:09,690 --> 00:12:14,280 Kaj la motoro mem iras kaj faras tion. 203 00:12:14,280 --> 00:12:18,010 >> Do ĉu ĝi interagas kun Registro tiri tiujn bildoj 204 00:12:18,010 --> 00:12:19,670 kaj la mantelojn de la bildoj. 205 00:12:19,670 --> 00:12:25,030 Ĉu se vi volas disfaldi, kuri ujoj, mortigi ilin, ĵeti ilin malsupren, 206 00:12:25,030 --> 00:12:25,730 whatnot. 207 00:12:25,730 --> 00:12:32,190 Do tiu resumas la laborfluo de ĉiuj ĉi tiuj komponantoj. 208 00:12:32,190 --> 00:12:34,710 >> Do se vi prenas ĉiun komponanto per sin. 209 00:12:34,710 --> 00:12:37,690 Do Engine, estas nur daemon. 210 00:12:37,690 --> 00:12:40,800 Ĝi devos speco de ludi ĝin subteni ĝin sur Linukso ĉar ĝi faras 211 00:12:40,800 --> 00:12:44,380 postulas iujn Linuksan kernon karakterizaĵoj. 212 00:12:44,380 --> 00:12:48,820 Sed Vindozo laboras sur faranta la saman aferon. 213 00:12:48,820 --> 00:12:53,720 Ĝi estas supozita esti apogita vindozaj Servilo 2016. 214 00:12:53,720 --> 00:13:01,500 >> Do, denove, la respondecoj kun la motoro estas, aŭ estas al, konstrui bildojn. 215 00:13:01,500 --> 00:13:05,340 Pull bildojn el la Docker Hub aŭ via propra Registro. 216 00:13:05,340 --> 00:13:07,840 Se vi faris kun tiuj bildoj aŭ vi kreas novajn bildojn, 217 00:13:07,840 --> 00:13:14,770 vi povas premi tiujn reen al la registro disdoni ilin al aliaj teamoj. 218 00:13:14,770 --> 00:13:18,300 >> Kaj provante enhavi ĝin loke kaj administri la ujoj vivociklo 219 00:13:18,300 --> 00:13:19,260 loke. 220 00:13:19,260 --> 00:13:22,010 Ĝi estas konstruita ĉirkaŭ HTTP REST API. 221 00:13:22,010 --> 00:13:24,480 Do teknike vi povas skribi vian propran kliento 222 00:13:24,480 --> 00:13:31,650 kiel longe kiel ĝi uzas HTTP, kiu estas tre norma meĥanismo paroli al Engine 223 00:13:31,650 --> 00:13:33,110 kaj multajn aliajn servojn. 224 00:13:33,110 --> 00:13:35,780 Kaj vi povas vidi de tie ke senkonsidere 225 00:13:35,780 --> 00:13:39,010 de kio la infrastrukturo estas, tiel longe kiel vi can-- ĉiuj 226 00:13:39,010 --> 00:13:42,170 vi bezonas estas mastruma sistemo, Linukso specife. 227 00:13:42,170 --> 00:13:45,460 >> Kaj vi povas instali Docker Engine Aldonigxis kaj ĝi kuras 228 00:13:45,460 --> 00:13:48,970 kaj ĝi orchestrates, esence, ĉiuj tiuj app unu, du, 229 00:13:48,970 --> 00:13:51,530 kaj tri estas fakta ujoj. 230 00:13:51,530 --> 00:13:53,990 Do jen Engine. 231 00:13:53,990 --> 00:13:58,040 Kiel mi menciis antaŭe ĉar vi bezonas interagi kun Engine, 232 00:13:58,040 --> 00:13:59,200 Tie estas la kliento. 233 00:13:59,200 --> 00:14:03,180 >> Sed fakte kiam vi instalas Docker, ĝi ŝipoj kun ĝi. 234 00:14:03,180 --> 00:14:06,110 Do gets instalita, do estas sola duuma. 235 00:14:06,110 --> 00:14:11,830 Kaj vi povas fari lokaj alvokoj al viaj Docker Engine. 236 00:14:11,830 --> 00:14:14,040 Aŭ malproksima vokojn al foraj Engines. 237 00:14:14,040 --> 00:14:16,600 238 00:14:16,600 --> 00:14:19,590 Ĝi uzas HTTP, kiel Mi menciis antaŭe. 239 00:14:19,590 --> 00:14:24,200 Ekzistas GUI kliento nomis Kitematic de Docker. 240 00:14:24,200 --> 00:14:26,390 Kaj estas definitive multe de aliaj uloj 241 00:14:26,390 --> 00:14:29,740 kiuj konstruas multajn GUI-oj kiuj esence efektivigu 242 00:14:29,740 --> 00:14:32,980 iuj HTTP nomas paroli al Engine. 243 00:14:32,980 --> 00:14:35,920 244 00:14:35,920 --> 00:14:39,280 >> Nur kelkaj specimenaj komandojn. 245 00:14:39,280 --> 00:14:44,620 Se vi faras Docker versio, estus montri vin la kliento versio tiel kiel 246 00:14:44,620 --> 00:14:47,030 la servilo versio. 247 00:14:47,030 --> 00:14:49,500 Se vi faras Docker info ĝi volo diri al vi ĉiujn informojn 248 00:14:49,500 --> 00:14:54,300 pri kiom da ujoj kuras aŭ kreita, kiom da bildoj vi havas, 249 00:14:54,300 --> 00:14:56,530 kaj tiel plu kaj tiel plu. 250 00:14:56,530 --> 00:15:01,850 >> Jen mi havas, en la flanko de lasta skatolo, mi havas Doktoro run. 251 00:15:01,850 --> 00:15:04,970 Do jen kiel mi reale kreanta ujo. 252 00:15:04,970 --> 00:15:08,960 Kaj Mi donos gxin al eĥon Saluton Mondo kaj dormi dum sekundo kaj whatnot. 253 00:15:08,960 --> 00:15:12,830 Kaj vi povas vidi la rezulto. Do estas daŭranta. 254 00:15:12,830 --> 00:15:16,930 Kaj simila al Linukso ps, vi povas vidi ĉiuj procezoj kaj, en tiu kazo, 255 00:15:16,930 --> 00:15:18,540 ĉiuj kurado ujoj. 256 00:15:18,540 --> 00:15:23,430 Ĉi onia raportante reen al la ujo mi ĵus kreis. 257 00:15:23,430 --> 00:15:27,560 >> Do, tiu estas vere grava ĉar, kiel, povas esti iom konfuza. 258 00:15:27,560 --> 00:15:33,050 Do bildoj estas la nurlega kolekton de dosieroj, ĉu ne? 259 00:15:33,050 --> 00:15:37,000 Ili estas kion niaj ujo estas bazita sur. 260 00:15:37,000 --> 00:15:40,340 Sed ili estas nur legas-nur. 261 00:15:40,340 --> 00:15:44,330 Do vi dividus kun baza bildo. 262 00:15:44,330 --> 00:15:50,180 Ĝi inklinas imiti VIN-kiel, tiel Ubuntu, CentOS, whatnot bazo bildo. 263 00:15:50,180 --> 00:15:53,990 Kaj tiam vi komencos konstrui supre sur ke certaj tavoloj, kiuj konsistigas 264 00:15:53,990 --> 00:16:00,010 via fino bildo, la fina rezulto tie. 265 00:16:00,010 --> 00:16:03,220 >> Kaj ĉiu el tiuj tavoloj devus havi gepatro bildo 266 00:16:03,220 --> 00:16:06,690 ke referenceas kiam fakte volas krei. 267 00:16:06,690 --> 00:16:09,922 Ili estas neŝanĝeblaj, en la senco ke ĉar ili estas nurlega, 268 00:16:09,922 --> 00:16:11,630 vi ne povas reale fari ŝanĝojn al ili. 269 00:16:11,630 --> 00:16:17,540 Vi povas uzi ilin por krei ujo de bildo, kiu 270 00:16:17,540 --> 00:16:23,530 alvokos cxiujn posta Bezonata bildoj sub tio. 271 00:16:23,530 --> 00:16:26,400 >> Vi povas fari ŝanĝojn al malsama tavolo, 272 00:16:26,400 --> 00:16:28,810 ĝi estas reverki tavolo Mi timige raportas en sekundo. 273 00:16:28,810 --> 00:16:31,350 Sed ĉiu el tiuj tavoloj neniam ŝanĝiĝis. 274 00:16:31,350 --> 00:16:34,300 275 00:16:34,300 --> 00:16:38,670 Esence bildoj uzi ion nomita Unio Dosiera Sistemo, UFS. 276 00:16:38,670 --> 00:16:42,280 Kaj ekzistas diverseco de stokado backends kiuj uzas ĉi tiun teknologion. 277 00:16:42,280 --> 00:16:49,430 Kaj kion tio signifas estas ke kunvenigas distingaj dosiersistemojn 278 00:16:49,430 --> 00:16:51,190 fari ilin rigardi kiel unu. 279 00:16:51,190 --> 00:16:54,460 >> Do vi efektive povas, de apliko perspektivo, 280 00:16:54,460 --> 00:16:59,570 vi havas supro de vido kiu elmontras ĉiuj malsamaj dosiersistemo bezonis 281 00:16:59,570 --> 00:17:01,120 por ke apliko kuri. 282 00:17:01,120 --> 00:17:04,400 Sed ili estas vere, sur tiu, ili estas reale en apartaj lokoj 283 00:17:04,400 --> 00:17:06,410 kaj estante utiligita fare aliaj ujoj ankaŭ. 284 00:17:06,410 --> 00:17:09,569 285 00:17:09,569 --> 00:17:14,410 >> Do kiel vi povas vidi en ĉi tiu se ni starti kun daemon bildo 286 00:17:14,410 --> 00:17:18,619 kiel bazon bildo, kaj tiam ni iros kaj aldonu [? emacs?] 287 00:17:18,619 --> 00:17:20,720 kaj tiam tio estas alia tavolo. 288 00:17:20,720 --> 00:17:21,916 Kaj tiam aldoni Apache. 289 00:17:21,916 --> 00:17:22,790 Tio estas alia tavolo. 290 00:17:22,790 --> 00:17:25,470 Kaj poste ni pasigas la ujo el tio. 291 00:17:25,470 --> 00:17:29,760 Ĉiu de tiuj bildoj, ĉiu de tiuj manteloj, 292 00:17:29,760 --> 00:17:35,530 estas distingaj kaj povas esti reuzataj de aliaj ujoj. 293 00:17:35,530 --> 00:17:40,070 >> Se vi rigardas ujoj aparte ili estas iel kiel VM-simila, 294 00:17:40,070 --> 00:17:41,930 sed ne traktis la sama tempo. 295 00:17:41,930 --> 00:17:49,180 Do, ili ne havas, teknike, la plena mastruma sistemo sub ili. 296 00:17:49,180 --> 00:17:52,630 Ili uzas la solan kernon de la gastiganto mastruma sistemo. 297 00:17:52,630 --> 00:17:54,440 Kaj ili konstruu sur supro de tiu. 298 00:17:54,440 --> 00:17:56,250 Ili imitas en ilia aspekto. 299 00:17:56,250 --> 00:18:00,710 Ili imitas ilian radikon dosieron sistemo de la mastruma sistemo. 300 00:18:00,710 --> 00:18:04,930 Sed ili efektive ne repliki. 301 00:18:04,930 --> 00:18:12,080 >> Do, anstataŭ havi neŝanĝeblaj tavoloj, la lasta tavolo, kiu estas la ujo 302 00:18:12,080 --> 00:18:14,690 mem, estas legado registran tavolo. 303 00:18:14,690 --> 00:18:17,350 Kiu ankaŭ kuras la procezoj de via apliko. 304 00:18:17,350 --> 00:18:23,530 Kaj ĝi dependas de la subaj tavoloj. 305 00:18:23,530 --> 00:18:26,730 Ĉiu kontenero estas kreita de bildo. 306 00:18:26,730 --> 00:18:32,450 Kaj tio bildo povas esti ununura tavolo aŭ multilayer bildo. 307 00:18:32,450 --> 00:18:37,200 >> Kaj mi volas noti ĉi tie ke Docker peze uzas, 308 00:18:37,200 --> 00:18:40,370 aŭ baziĝas sur Copy-On-Write mekanismo. 309 00:18:40,370 --> 00:18:44,350 Tial, fakte, se vi ne estas farante ŝanĝojn al la ujo, 310 00:18:44,350 --> 00:18:45,930 ĝi ne tuj preni ekstra spaco. 311 00:18:45,930 --> 00:18:49,600 Do jen esence kiel vi resumi kopion-On-Write. 312 00:18:49,600 --> 00:18:53,820 Ĝi tuj definitive rapidigi la lanĉtempo por la ujo. 313 00:18:53,820 --> 00:18:56,300 Ĉar se vi ne faras ŝanĝoj al la ujo, 314 00:18:56,300 --> 00:18:57,800 ĝi estas utiliganta kio estas jam tie. 315 00:18:57,800 --> 00:19:01,130 316 00:19:01,130 --> 00:19:02,955 >> Do, kiel ĝi efektive funkcias. 317 00:19:02,955 --> 00:19:06,920 318 00:19:06,920 --> 00:19:14,240 Parto de ĝi estas kiel, nun, ĝi ekspluatas almenaŭ du ŝlosilaj kerno 319 00:19:14,240 --> 00:19:14,820 ĉefaĵoj. 320 00:19:14,820 --> 00:19:17,660 Kaj tio estas esence kio kreita tiu nivelo de izolado 321 00:19:17,660 --> 00:19:19,550 por la ujoj mem. 322 00:19:19,550 --> 00:19:22,290 Tiuj karakterizaĵoj estas nomspacoj kaj cgroups. 323 00:19:22,290 --> 00:19:29,870 Do nomspacoj estas maniero por krei izolitajn rimedoj, 324 00:19:29,870 --> 00:19:36,290 por ke ene de la ujo mem, nur vi povas vidi iujn rimedojn. 325 00:19:36,290 --> 00:19:40,030 Kiaj la interkonektanta interfaco aŭ certaj uzantoj aŭ whatnot. 326 00:19:40,030 --> 00:19:44,160 >> Kaj tiuj estas nur videbla kaj nur atingebla ene de la ujo. 327 00:19:44,160 --> 00:19:48,290 Cgroup aliflanke limoj kiel vi uzas tiujn rimedojn. 328 00:19:48,290 --> 00:19:50,950 CPU, memoro kaj disko. 329 00:19:50,950 --> 00:19:53,900 Kiam vi povas eniri, mi signifas tiuj estas fakte 330 00:19:53,900 --> 00:19:57,410 trajtoj kiuj disvolvis by-- ili estas parto de la Linuksa kerno. 331 00:19:57,410 --> 00:20:01,800 Do ili ne estis reinventó per aŭ amuzita de Docker. 332 00:20:01,800 --> 00:20:03,770 Docker uzas ilin. 333 00:20:03,770 --> 00:20:05,560 >> Kio Doktoro vere faris tie estas reale ĝi 334 00:20:05,560 --> 00:20:08,680 orquestada kreado nomspacoj por ĉiu ujo 335 00:20:08,680 --> 00:20:13,320 kaj kreante la cgroups tiel ke ĝi estas ridinde facila krei kontenerojn 336 00:20:13,320 --> 00:20:14,870 uzante tiuj karakterizaĵoj. 337 00:20:14,870 --> 00:20:22,910 Kompreneble, kiel mi priskribis antaŭe, Unio Dosiera Sistemoj kaj Kopiu-On-Write vere 338 00:20:22,910 --> 00:20:26,810 helpi la rapidon kaj la disko utiligo de ujoj. 339 00:20:26,810 --> 00:20:28,917 >> Kaj unufoje vi akiras vian manoj ĉirkaŭ Docker, 340 00:20:28,917 --> 00:20:32,000 vi tuj vidos kiel rapide ĝi estas fakte turnadi supren ujoj kaj larmo 341 00:20:32,000 --> 00:20:32,500 ilin suben. 342 00:20:32,500 --> 00:20:36,060 343 00:20:36,060 --> 00:20:40,230 Do, se vi povus demandi, kiel povas vi fakte konstrui bildojn? 344 00:20:40,230 --> 00:20:45,940 Ni konstruu bildoj de procezo de kreado ujoj kaj farante ŝanĝojn, ŝanĝante 345 00:20:45,940 --> 00:20:50,220 ili, kaj la fari ilin en igi bildon. 346 00:20:50,220 --> 00:20:54,330 >> Do estas kokido kaj ovo referencon tie, 347 00:20:54,330 --> 00:20:57,350 ĉar ĉiuj ujoj venu el bildoj kaj bildoj venis 348 00:20:57,350 --> 00:21:00,270 de faritaj ujoj, plejparte. 349 00:21:00,270 --> 00:21:03,830 Estas tri ebloj krei bildojn. 350 00:21:03,830 --> 00:21:06,580 Mi tuj priskribi la unua kaj lasta. 351 00:21:06,580 --> 00:21:10,060 Vi povas ĉu permane iri kaj kuri la ujo 352 00:21:10,060 --> 00:21:14,280 kaj fari tiujn ŝanĝojn, kiel vi farus en ajna VM 353 00:21:14,280 --> 00:21:17,060 aŭ ajna mastruma sistemo, kiel instali novan binaroj, 354 00:21:17,060 --> 00:21:19,370 aldonante dosiersistemojn, kaj whatnot. 355 00:21:19,370 --> 00:21:22,620 >> Kaj poste vi eliras, kiel vi povas vidi tie supre. 356 00:21:22,620 --> 00:21:24,330 Mi eliranta mia ujo. 357 00:21:24,330 --> 00:21:26,050 Kaj tiam mi faras Docker commit. 358 00:21:26,050 --> 00:21:28,390 Kaj mi fari tion. 359 00:21:28,390 --> 00:21:31,560 Vi povas vidi ke la numero ĉi tie estas nur UUID, aŭ la unua 12 360 00:21:31,560 --> 00:21:32,810 bitojn de la UUID. 361 00:21:32,810 --> 00:21:34,320 Aŭ bajtoj de la UUID. 362 00:21:34,320 --> 00:21:35,770 Kaj poste mi nomante ĝin mia bildo. 363 00:21:35,770 --> 00:21:39,510 Do nun Docker prizorgas registranta ĉiun tamen tio 364 00:21:39,510 --> 00:21:42,830 kaj kreante la novan bildo bazita sur tio. 365 00:21:42,830 --> 00:21:47,080 366 00:21:47,080 --> 00:21:52,560 >> Mi ne tuj paroli pri tarball, sed ekzistas trairejo vi povas akiri sola, 367 00:21:52,560 --> 00:21:58,200 krei ununuran, aŭ fari sola tavolo bildo uzanta tarballs. 368 00:21:58,200 --> 00:22:02,650 Kion mi tuj paroli pri tio kaj kio plejparte uzita hodiaŭ, 369 00:22:02,650 --> 00:22:03,270 estas Dockerfile. 370 00:22:03,270 --> 00:22:07,260 Kiu estas teknike la unua paŝi aŭtomatigita Docker mem. 371 00:22:07,260 --> 00:22:11,920 Do Dockerfiles estas aferoj kiujn vi tuj vidos en multajn GitHub Repos 372 00:22:11,920 --> 00:22:13,150 hodiaŭ. 373 00:22:13,150 --> 00:22:16,420 Ĝi estas esence nur tekstdosiero priskribante 374 00:22:16,420 --> 00:22:19,780 ĝuste kiel konstrui bildon. 375 00:22:19,780 --> 00:22:25,540 >> Kaj por ĉiu linio, ĝi fakte kreas la ujo, ekzekutu tiun linion, 376 00:22:25,540 --> 00:22:30,480 kompromitas ke ujo en nova bildo, kaj vi, esence, 377 00:22:30,480 --> 00:22:36,160 uzi ĝin por ĉiuj postaj operacioj ĝis vi akiras al la lasta bildo. 378 00:22:36,160 --> 00:22:39,260 Kiu estas esence la fini celo tie, fine. 379 00:22:39,260 --> 00:22:42,420 Post vi exec-- post vi skribu vian Dockerfile, kiu 380 00:22:42,420 --> 00:22:46,750 estas pure en teksto, vi fari Docker konstrui kaj la nomon de la bildo. 381 00:22:46,750 --> 00:22:50,000 >> Kaj vi montras en tiu kiu estas kie la Dockerfile estas ĉe. 382 00:22:50,000 --> 00:22:56,570 Kaj vi povas atendi vidi mian bildon kiel bildo, ke vi havas loke. 383 00:22:56,570 --> 00:22:59,100 Do tio estas nur vida ekzemplo de kio okazas. 384 00:22:59,100 --> 00:23:00,820 Vi komencas kun bazo bildo. 385 00:23:00,820 --> 00:23:05,150 Vi kuras ke en ujo kiu ne ŝanĝas la bazon bildo mem. 386 00:23:05,150 --> 00:23:08,310 Sed anstataŭe kreas reskribi tavolo aldone al ĝi 387 00:23:08,310 --> 00:23:10,340 kie fari la ŝanĝojn, en kiu vi faras 388 00:23:10,340 --> 00:23:15,050 kaj vi ripetas la procezon ĝis Vi akiras vian fina bildo. 389 00:23:15,050 --> 00:23:20,980 >> Kaj per tio, ĉiu alia konstruo procezo povas uzi la saman tavoloj 390 00:23:20,980 --> 00:23:23,870 kaj la same-- esence Docker cachés tiuj tavoloj. 391 00:23:23,870 --> 00:23:30,040 Tiel ke se mi faras la saman ĝusta procezo, sed anstataŭ instali PHP, 392 00:23:30,040 --> 00:23:31,540 Mi instali Python. 393 00:23:31,540 --> 00:23:34,210 Ĝi tuj uzos Apache kaj Ubuntu. 394 00:23:34,210 --> 00:23:39,570 Por ke maniero vi utiliganta via disko. 395 00:23:39,570 --> 00:23:42,330 Ĝi estas utiliganta la kaŝmemoron kaj disponeblaj bildoj tie. 396 00:23:42,330 --> 00:23:45,320 397 00:23:45,320 --> 00:23:48,840 >> La fina peco estas Registro, kiu Tiel vi disdoni viajn bildojn. 398 00:23:48,840 --> 00:23:52,710 Kaj, kiel mi menciis antaŭe, Tie estas Nubo versio de ĝi, 399 00:23:52,710 --> 00:23:54,290 kio estas Docker Nabo. 400 00:23:54,290 --> 00:23:57,550 Vi povas iri kaj esplori multajn, esence 401 00:23:57,550 --> 00:24:04,900 ĝi estas publika SAS produkto kiu Vi ankoraŭ povas havi privatajn bildojn, 402 00:24:04,900 --> 00:24:06,590 sed tie estas multe da publika bildoj. 403 00:24:06,590 --> 00:24:10,580 Ĝi estas fakte senlima, vi povas puŝi senlima publika bildojn tie. 404 00:24:10,580 --> 00:24:13,730 Kaj jen kiel vi povas kunlabori kun via teamo. 405 00:24:13,730 --> 00:24:17,159 >> Vi povas simple atentigi ilin ĉe vi Repo kaj ili povas elŝuti ĝin aŭ via bildo 406 00:24:17,159 --> 00:24:18,200 kaj ili povas malŝarĝi ŝin. 407 00:24:18,200 --> 00:24:21,140 408 00:24:21,140 --> 00:24:24,990 Do sufiĉas la diskutpaĝo. 409 00:24:24,990 --> 00:24:29,110 Kiu volas vidi iujn donas realan rapidan? 410 00:24:29,110 --> 00:24:31,330 Bone. 411 00:24:31,330 --> 00:24:34,050 Do jen mi havas. 412 00:24:34,050 --> 00:24:37,480 Ca vi uloj vidi mia ekrano? 413 00:24:37,480 --> 00:24:38,390 Bone. 414 00:24:38,390 --> 00:24:45,810 >> Do mi havas Docker kurante tie, do mi povas kontroli it's-- Jen la versio 415 00:24:45,810 --> 00:24:47,510 de Docker ke estas kurante. 416 00:24:47,510 --> 00:24:49,320 Ne faru Docker info. 417 00:24:49,320 --> 00:24:55,730 Kontrolu ĉiujn informojn pri kiom da bildojn ili havas, kaj tiel plu kaj tiel plu. 418 00:24:55,730 --> 00:24:58,890 Docker PS, nenio estas kurado. 419 00:24:58,890 --> 00:25:00,570 Kroĉitaj tiuj. 420 00:25:00,570 --> 00:25:06,370 >> Do la unua afero Mi volas fari estas spektaklo vin kiel vi povas facile kuri ujo. 421 00:25:06,370 --> 00:25:09,350 Do la belecon ĉirkaŭ Doktoro run, se ĝi reale 422 00:25:09,350 --> 00:25:14,700 ne trovas bildon loke, defaŭlte ĝi parolas al Doktoro Nabo 423 00:25:14,700 --> 00:25:17,240 kaj provas trovi ŝin tie kaj malŝarĝoj por vi. 424 00:25:17,240 --> 00:25:22,820 Do ĝi inkludas Docker tiri komando, nature. 425 00:25:22,820 --> 00:25:26,130 >> Do se mi faras Docker run, saluton-mondo. 426 00:25:26,130 --> 00:25:28,890 427 00:25:28,890 --> 00:25:31,200 Do, unue ĝi tuj provi lokalizi ĝin. 428 00:25:31,200 --> 00:25:36,140 Alie, kiel vi povas vidi ĉi tie, ĝi povus ne trovi ĝin loke. 429 00:25:36,140 --> 00:25:41,830 Ĝuste nun ĝi ĵus tiris du tavoloj kiu faris tiun bildon kaj mi kuris ĝin. 430 00:25:41,830 --> 00:25:45,440 La saluton-mondo estas nur resume eliroj, kion vi faris. 431 00:25:45,440 --> 00:25:47,680 Do tiu estas la plej facila, unu la plej facilaj ekzemploj. 432 00:25:47,680 --> 00:25:53,840 Do efektive mi nur kuris kaj eksigita la ujo reala rapida. 433 00:25:53,840 --> 00:25:59,500 >> Se mi volas run-- kaj sur la vojo, se Mi volas fojon ke, nur do vi scias, 434 00:25:59,500 --> 00:26:03,572 jen kiel longe ĝi prenas por fakte turnadi supren kaj enhavas. 435 00:26:03,572 --> 00:26:05,030 Ni mezuras ĝin en milisekundoj. 436 00:26:05,030 --> 00:26:10,600 Do vi povas vidi kiom tiu povas reale helpi vin ne nur en testado, 437 00:26:10,600 --> 00:26:13,200 sed ankaŭ eĉ deplojo. 438 00:26:13,200 --> 00:26:17,221 Do jen rapidan noton sur tio. 439 00:26:17,221 --> 00:26:18,970 La sekva afero mi estas tuj faros estas reale 440 00:26:18,970 --> 00:26:21,930 kuri bildon mi jam preparis. 441 00:26:21,930 --> 00:26:24,460 Do Docker run. 442 00:26:24,460 --> 00:26:27,240 -d estas ĝuste flagon diri ĝi kuras en la fono. 443 00:26:27,240 --> 00:26:30,290 Kaj -p asignas certaj havenoj. 444 00:26:30,290 --> 00:26:32,670 Ĉar defaŭlte, la ujoj estas izolitaj, 445 00:26:32,670 --> 00:26:36,080 tiel vi devas specifi ĝuste kiel povas aliri ilin. 446 00:26:36,080 --> 00:26:41,150 Kaj en ĉi tiu kazo, mi diras Docker mapi hazarda haveno sur la gastiganto 447 00:26:41,150 --> 00:26:44,560 al specifa haveno ene la ujo mem. 448 00:26:44,560 --> 00:26:47,130 449 00:26:47,130 --> 00:26:56,460 Kaj tio estas esence kie la image-- espereble tio estas la ĝusta unu. 450 00:26:56,460 --> 00:27:01,780 >> Do ĝi faras paralelajn elŝutoj ĉiu de tiuj manteloj kiel vi povas vidi ĉi tie. 451 00:27:01,780 --> 00:27:06,949 Tiuj estas de la manteloj farante Fine bildo kiun mi konstruis. 452 00:27:06,949 --> 00:27:08,115 Ĝi tuj prenu duan. 453 00:27:08,115 --> 00:27:11,290 454 00:27:11,290 --> 00:27:12,370 Kaj voila. 455 00:27:12,370 --> 00:27:16,590 >> Do nun se mi faras Docker ps, mi devus vidi iun kiu kuras. 456 00:27:16,590 --> 00:27:22,250 Mi devus vidi la ID, la bildo ke ĝi estis bazita for, 457 00:27:22,250 --> 00:27:23,880 kaj la komando kiu estis ekzekutita. 458 00:27:23,880 --> 00:27:28,720 Kaj kiel aliri estas esence vi iros al tiu haveno. 459 00:27:28,720 --> 00:27:33,240 Do mi tuj iras to-- ĉi Estas Mi kuras sur AWS. 460 00:27:33,240 --> 00:27:37,150 Mi tuj iros al 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 Kaj tie ni iru. 464 00:27:41,120 --> 00:27:44,550 >> Do tiu estas fakte nur reta servo kiu montras 465 00:27:44,550 --> 00:27:46,240 kiu ujo ĝi estas estanta servita de. 466 00:27:46,240 --> 00:27:50,450 Do vi povas vidi ke ĝi estas el ujo a9f. 467 00:27:50,450 --> 00:27:52,850 Kaj tie ĉi estas la nomo de la ujo. 468 00:27:52,850 --> 00:27:56,550 Do vi infanoj povas vidi kiom rapide estis efektive ne nur tiri sed ankaŭ 469 00:27:56,550 --> 00:28:00,440 deploji tiu ujo. 470 00:28:00,440 --> 00:28:05,070 >> Nun la sekva paŝo estas rigardi en Dockerfiles 471 00:28:05,070 --> 00:28:09,430 kaj kiel ni povas reale konstrui novajn bildojn. 472 00:28:09,430 --> 00:28:15,250 Mi simple tuj iros akiri klonon, a Specimeno Dockerfile bazita sur la pli frua 473 00:28:15,250 --> 00:28:17,755 diagramo, la de Apache kaj PHP. 474 00:28:17,755 --> 00:28:26,740 475 00:28:26,740 --> 00:28:28,140 Espereble mi memoras mian repo. 476 00:28:28,140 --> 00:28:36,410 477 00:28:36,410 --> 00:28:38,750 >> Do mi havas mian dosieraro nun. 478 00:28:38,750 --> 00:28:43,080 Kaj vi tuj vidos tiu multe reale. 479 00:28:43,080 --> 00:28:45,110 Mi ne instalis arbo. 480 00:28:45,110 --> 00:28:48,700 >> Do esence vi tuj vidos kiel via fontkodo dokumentado ĉirkaŭ 481 00:28:48,700 --> 00:28:51,240 ĝin, kaj tiam Dockerfile sur kiel reale paki ĝin. 482 00:28:51,240 --> 00:28:57,970 Do estas nur specimeno PHP ke eĥoj saluton CS50. 483 00:28:57,970 --> 00:29:01,550 >> Do se mi volas kuri ĝin, Mi faros Docker muntaĵo. 484 00:29:01,550 --> 00:29:03,370 Mi devas konstrui ĝin unue. 485 00:29:03,370 --> 00:29:12,420 Mi tuj ajn demo_cs50. 486 00:29:12,420 --> 00:29:16,470 Kaj vi bezonas etikedon al ĝi ankaŭ. 487 00:29:16,470 --> 00:29:19,802 Do ni nomas ĝin v1 pentras. 488 00:29:19,802 --> 00:29:21,760 Do kiel mi priskribis antaŭe, kion mi faras hodiaŭ 489 00:29:21,760 --> 00:29:26,840 estas fakton mi Docker iri uzo that-- reale, pardonon, mia malbona. 490 00:29:26,840 --> 00:29:29,450 491 00:29:29,450 --> 00:29:32,500 Ni ne rigardu ĉe la Dockerfile mem. 492 00:29:32,500 --> 00:29:39,020 Do la solaj aĵoj en ĉi tie estas index.php tiel kiel la README dosiero 493 00:29:39,020 --> 00:29:39,810 kaj Dockerfile. 494 00:29:39,810 --> 00:29:44,600 >> Do se vi prenas rigardi la Dockerfile, do estas 495 00:29:44,600 --> 00:29:47,150 tre simila al kio Mi priskribis antaŭe. 496 00:29:47,150 --> 00:29:51,220 Ĝi estas nur aro de paŝoj kiuj Docker ekzekutas 497 00:29:51,220 --> 00:29:56,330 kreante kaj ŝirante malsupren ujoj kaj [? rakonti?] ilin en bildon. 498 00:29:56,330 --> 00:29:59,570 >> Kaj esence vi povas Konsideru [inaudible] ĝi here-- 499 00:29:59,570 --> 00:30:04,340 sed tiu estas de la loka repo. 500 00:30:04,340 --> 00:30:06,410 Ĝi tuj iros kaj kroĉi index.php. 501 00:30:06,410 --> 00:30:10,970 Do tio estas la sola fonto kodo kiu estas reale parto de via apliko. 502 00:30:10,970 --> 00:30:16,800 Ĉiuj ĉi estas resume operaciumo fontanería, 503 00:30:16,800 --> 00:30:21,460 akiranta la dekstra pakojn kaj Apache kaj PHP, kaj whatnot. 504 00:30:21,460 --> 00:30:26,950 Sed tiu estas efektive prenanta index.php kaj kompromitante ĝin en la kontenero, 505 00:30:26,950 --> 00:30:28,210 en la bildo. 506 00:30:28,210 --> 00:30:33,120 >> Do se vi iras antaŭen kaj kuri la komando de faranta la sekvantaron, 507 00:30:33,120 --> 00:30:36,155 ĝi estas going-- reale, tiu povus preni iom. 508 00:30:36,155 --> 00:30:40,870 509 00:30:40,870 --> 00:30:42,455 Espereble ĝi ne prenas tro longe. 510 00:30:42,455 --> 00:30:45,129 511 00:30:45,129 --> 00:30:46,170 Do vi povas vidi la paŝojn. 512 00:30:46,170 --> 00:30:49,320 Kaj mi kuraĝigas vin iri hejmen hodiaŭ kaj provi ĝin. 513 00:30:49,320 --> 00:30:51,280 Kaj Mano priskribos kiom precize vin fari tion. 514 00:30:51,280 --> 00:30:57,810 Sed estas vere granda vidi ekzakte kio okazas malantaŭ la scenoj. 515 00:30:57,810 --> 00:31:02,420 Sed estas ridinde facila konstrui bildoj kaj deploji ilin uzante Docker. 516 00:31:02,420 --> 00:31:12,170 517 00:31:12,170 --> 00:31:14,050 >> Ĝi prenas iom longe ol mi atendis. 518 00:31:14,050 --> 00:31:29,085 519 00:31:29,085 --> 00:31:32,690 >> Ni vidu kio okazas kiam you-- malvarmigi. 520 00:31:32,690 --> 00:31:36,260 Do kiel vi povas vidi, ĉiu el tiuj ŝtupoj reprezenti liniojn en la Dockerfile. 521 00:31:36,260 --> 00:31:42,570 Kaj ĝi montras ĉi tie ke sukcese konstruis ĉi bildo. 522 00:31:42,570 --> 00:31:46,480 >> Do se mi faras Docker bildoj, mi tuj vidi ĉiujn bildojn kiuj mi havas loke. 523 00:31:46,480 --> 00:31:52,160 Kaj unu el ili nomas mia salutnomo, kaj la nomon de la bildo, 524 00:31:52,160 --> 00:31:56,050 kaj la etikedo representing-- ĉefe ĝi estas versio etikedo. 525 00:31:56,050 --> 00:31:58,040 >> Do nun, se mi volas kuri ĝin, mi faras Docker run. 526 00:31:58,040 --> 00:32:06,040 527 00:32:06,040 --> 00:32:14,960 Kaj mi nur volas fari -d -P. Ĉu v1. 528 00:32:14,960 --> 00:32:18,500 Do mi povas vidi nun ke mi havas du ujoj kurante, kiu mi ĵus 529 00:32:18,500 --> 00:32:21,230 kreita kaj la saluton Docker kiu mi ricevis lastan. 530 00:32:21,230 --> 00:32:24,320 >> Kaj vi povas vidi ĉi tie ke ĝi atribuis malsama haveno. 531 00:32:24,320 --> 00:32:30,710 Do, se mi iros al la sama IP sed atribui ĝin malsama port-- espereble mi ne. 532 00:32:30,710 --> 00:32:33,060 Do nun tiu estas apliko ke mi ĵus deplojiĝis. 533 00:32:33,060 --> 00:32:35,980 534 00:32:35,980 --> 00:32:43,900 >> Se mi volas fari ŝanĝojn, mi povas rapide redakti la fontkodon 535 00:32:43,900 --> 00:32:49,050 kaj fari la sekvan. 536 00:32:49,050 --> 00:32:55,170 Ni faru saluton Harvard. 537 00:32:55,170 --> 00:32:57,989 Do nun kio okazas okazi estas ke mi 538 00:32:57,989 --> 00:32:59,905 tuj etikedi ĝin per malsamaj version-- ho, 539 00:32:59,905 --> 00:33:03,080 Ne ĉi guy-- etikedu ĝin kun malsama versio. 540 00:33:03,080 --> 00:33:05,735 Kaj vi tuj Konsideru do vi uloj atendas 541 00:33:05,735 --> 00:33:11,020 ĝi preni la sama kvanto de tempo konstrui ĝin duafoje aŭ ne? 542 00:33:11,020 --> 00:33:14,470 Bone, kaj iu scias kial? 543 00:33:14,470 --> 00:33:15,020 Parolu supren. 544 00:33:15,020 --> 00:33:16,350 >> Spektantaro: [inaudible] 545 00:33:16,350 --> 00:33:19,830 >> Nicola Kabar: Estas esence ni nur ŝanĝas unu el la postaj paŝoj. 546 00:33:19,830 --> 00:33:23,110 Kaj do ĝi estas tuj uzi la kaŝmemoro kaj uzi ĉiun el tiuj tavoloj. 547 00:33:23,110 --> 00:33:27,080 Kaj tio estas vere iuj de la murdisto trajtoj de Docker 548 00:33:27,080 --> 00:33:32,930 Tiel ĝi fakte ekspluatas kaj reutiliza transprenado 549 00:33:32,930 --> 00:33:36,950 via disko por la sama ĝusta pecoj de informo. 550 00:33:36,950 --> 00:33:40,700 >> Do se ni faros la samon, ĝi prenis nur paron sekundoj. 551 00:33:40,700 --> 00:33:48,860 Se ni volas redeploy-- tiel nun Mi devus havi tri ujojn. 552 00:33:48,860 --> 00:33:56,160 Sed ĉi tiu estas estanta servis sur the-- sep unu. 553 00:33:56,160 --> 00:33:58,860 Do nun estas la tria ujo. 554 00:33:58,860 --> 00:34:02,580 Ĉiuj kompreni kion mi ĵus faris ĉi tie? 555 00:34:02,580 --> 00:34:06,320 >> Kaj nun se vi volas dividi ĉi ujo reala rapida kun viaj amikoj, 556 00:34:06,320 --> 00:34:14,840 vi povas nur fari Docker puŝi la nomo de la ujo, espereble. 557 00:34:14,840 --> 00:34:20,130 Do nun ĝi tuj puŝi ĝin to-- Mi ne subskribis tien. 558 00:34:20,130 --> 00:34:33,511 559 00:34:33,511 --> 00:34:34,219 Pardonu pri tio. 560 00:34:34,219 --> 00:34:39,219 Sed mi ne tuj solvi tiun jam. 561 00:34:39,219 --> 00:34:42,780 Sed esence ke unu komando Estas ĝuste tuj supren puŝi ĝin. 562 00:34:42,780 --> 00:34:45,670 Kaj vi tuj povos vidi ĝin se vi iras por Docker Nabo 563 00:34:45,670 --> 00:34:48,587 Kaj vi ensalutas, vi estas tuj povos vidi ĝin. 564 00:34:48,587 --> 00:34:50,420 Kaj tiam vi povas simple atentigi ajn tuj 565 00:34:50,420 --> 00:34:52,750 uzi tiun bildon por iri kaj tiri gxin. 566 00:34:52,750 --> 00:34:55,460 Kaj ili povas uzi ĝin. 567 00:34:55,460 --> 00:34:57,760 >> Kun tiu, espereble Mi specon de pruvis 568 00:34:57,760 --> 00:35:01,230 kiel facile estas labori kun Docker. 569 00:35:01,230 --> 00:35:06,610 Kaj mi simple tuj donu ĝin al la Mano. 570 00:35:06,610 --> 00:35:11,760 Kaj li tuj prenos ĝin de tie. 571 00:35:11,760 --> 00:35:13,990 >> Mano markoj: Bone dankon, dankon Nico. 572 00:35:13,990 --> 00:35:18,700 573 00:35:18,700 --> 00:35:20,614 Do kio? 574 00:35:20,614 --> 00:35:24,410 Do unu el la aĵoj mi volis fari estas kunmeti 575 00:35:24,410 --> 00:35:28,820 kial ĉi estas important-- kial Docker kaj kial 576 00:35:28,820 --> 00:35:33,000 ujoj estas tia grava noveco, 577 00:35:33,000 --> 00:35:36,890 nova maniero de fakte faras programaro. 578 00:35:36,890 --> 00:35:41,300 >> Kaj antaŭ mi faras, mi tuj nur enkonduki kelkajn statistikojn. 579 00:35:41,300 --> 00:35:42,790 Mi ne tuj legi ĉiujn tiujn. 580 00:35:42,790 --> 00:35:52,540 Sed ĉi montras vin tre pri kiom populara ĉi estas en la komunumo. 581 00:35:52,540 --> 00:35:56,310 La kerno Docker teknologioj estas malferma fonto. 582 00:35:56,310 --> 00:36:03,560 Do jen Docker Engine, Verki, Swarm, faskon de aliaj aĵoj 583 00:36:03,560 --> 00:36:05,210 estas ĉiuj malferma fonto. 584 00:36:05,210 --> 00:36:10,590 Kaj ni havas, kion faris mi diri, 1.300 kontribuantoj. 585 00:36:10,590 --> 00:36:15,630 Vi vidas nun, se vi rigardas la numeron de laborposteno malfermoj, lastfoje 586 00:36:15,630 --> 00:36:19,640 ni rigardis, ĝi estis proksimume 43,000 laboron malfermoj specife menciante 587 00:36:19,640 --> 00:36:22,230 familiareco kun Docker. 588 00:36:22,230 --> 00:36:26,450 Centoj de milionoj de bildoj havas estis elŝutita de Docker Nabo. 589 00:36:26,450 --> 00:36:31,870 Kaj, nu, multe pli grandaj statistikojn. 590 00:36:31,870 --> 00:36:34,770 >> Por tiuj kiu estas scivola, ĝi estis origine skribita en Python 591 00:36:34,770 --> 00:36:37,730 kaj tiam reskribita en Iru. 592 00:36:37,730 --> 00:36:40,320 Kaj ĝi estas nur malfermi source-- ĝi estas nur 593 00:36:40,320 --> 00:36:44,950 estis liberigita dum ĉirkaŭ 2 kaj 1/2 jaroj, kio signifas, ke en 2 kaj 1/2 jaroj, 594 00:36:44,950 --> 00:36:48,020 ni vidis treegan kvanton de kresko kaj graveco 595 00:36:48,020 --> 00:36:50,190 de ĉi tio en la komunumo. 596 00:36:50,190 --> 00:36:52,400 Kaj tial mi volas paroli iomete pri kial. 597 00:36:52,400 --> 00:36:54,940 598 00:36:54,940 --> 00:36:59,880 >> Do ĝuste ripeti iuj de Nico ŝlosilaj punktoj, Docker estas rapida. 599 00:36:59,880 --> 00:37:00,630 Ĝi estas portebla. 600 00:37:00,630 --> 00:37:02,500 Ĝi estas reproduktebla. 601 00:37:02,500 --> 00:37:06,130 Kaj starigas normon medio. 602 00:37:06,130 --> 00:37:13,370 >> Kaj what-- ĉi estas mia crappy elradikigi monolitoj slide-- kio 603 00:37:13,370 --> 00:37:17,990 ĝi estas helpanta homojn fari, kiu multa la programaro industrio 604 00:37:17,990 --> 00:37:21,400 ekfaris en la fruaj 2000-aj jaroj, estas movanta 605 00:37:21,400 --> 00:37:24,200 el tiuj monolita sola aplikoj 606 00:37:24,200 --> 00:37:28,590 kie ĉiu dependeco devis esti provita antaŭ la tuta app havis 607 00:37:28,590 --> 00:37:31,280 esti deplojitaj, kiu povus signifi paĝaro 608 00:37:31,280 --> 00:37:36,240 nur got deplojitaj iam ĉiu tri monatoj, aŭ pli, 609 00:37:36,240 --> 00:37:42,650 al multe pli servo orientita arkitekturo 610 00:37:42,650 --> 00:37:46,090 aŭ componentized malsama tipo de apliko arkitekturo. 611 00:37:46,090 --> 00:37:48,610 Kaj tiel permesanta tiujn speco de arkitekturoj 612 00:37:48,610 --> 00:37:52,250 ke utiligi Docker kuri en ĉi tiuj tri 613 00:37:52,250 --> 00:37:58,450 precipaj areoj de disvolviĝo, kiun estas disvolviĝo skribi vian realan kodo, 614 00:37:58,450 --> 00:38:00,140 elprovanta via kodo, kaj deplojante ĝin. 615 00:38:00,140 --> 00:38:03,000 616 00:38:03,000 --> 00:38:05,420 >> Do kial estas tiu grava? 617 00:38:05,420 --> 00:38:09,920 Se vi estas a-- lasu min doni ekzemplon. 618 00:38:09,920 --> 00:38:13,600 Se vi estas retejo aparato desarrollador, vi estas 619 00:38:13,600 --> 00:38:19,020 evoluantaj retejo kiu estas bazita sur la datumbaza ke Davido produktis super tie. 620 00:38:19,020 --> 00:38:20,490 Pardonu David, Mi vokas vin. 621 00:38:20,490 --> 00:38:22,984 622 00:38:22,984 --> 00:38:24,900 Se vi deziris deploji la tuta afero, oni kredus 623 00:38:24,900 --> 00:38:28,870 atendi sub tradicia monolita softvarigo 624 00:38:28,870 --> 00:38:32,710 medio, vi devus atendi ĝis estis farinta kun la datumbazo 625 00:38:32,710 --> 00:38:36,030 antaŭe vi povis fari ajna ŝanĝojn al via retejo. 626 00:38:36,030 --> 00:38:40,900 Vi devus redeploji la tuta apliko fari tiel. 627 00:38:40,900 --> 00:38:45,490 >> Kaj kio Docker helpas vin fari estas ĉiu persono laboro sur malsamaj komponantoj 628 00:38:45,490 --> 00:38:52,990 kaj ĝisdatigi ilin kiel ili iras, nur farante certa ke la interfacoj resti la sama. 629 00:38:52,990 --> 00:38:56,350 Do kion ĝi faris estas ĝi estas ŝanĝita personoj 630 00:38:56,350 --> 00:39:03,950 de faranta ĉi tiujn amasajn monolita architected programaro kiu 631 00:39:03,950 --> 00:39:07,610 deplojitaj ĉiumonate al kontinua integriĝo kaj kontinua disvolviĝo 632 00:39:07,610 --> 00:39:08,490 medio. 633 00:39:08,490 --> 00:39:12,580 >> Nun ĉi tio ne estas unika por Docker, sed Docker faras tiel multe pli facila, 634 00:39:12,580 --> 00:39:16,620 kio signifas ke vi estas esence konstante deploji. 635 00:39:16,620 --> 00:39:20,690 Ni parolu al entreprenoj, kiuj estas disfaldante publika Facing aplikoj 636 00:39:20,690 --> 00:39:30,180 milfoje tage ĉar ili vidas la valoron en nur farante 637 00:39:30,180 --> 00:39:33,740 malgrandaj ŝanĝoj, kaj tiel longe kiel ĝi kuras tra la provoj, 638 00:39:33,740 --> 00:39:35,900 lasante ĝin eliri en produktado. 639 00:39:35,900 --> 00:39:41,890 Nico estis ĉiam diras al mi pli frue ol en multaj medioj, 640 00:39:41,890 --> 00:39:46,580 la normo vivociklo de ujo estas mezurita en sekundoj, 641 00:39:46,580 --> 00:39:50,460 dum virtuala maŝino povus esti mezurita en monatoj. 642 00:39:50,460 --> 00:39:54,590 643 00:39:54,590 --> 00:39:58,690 >> Mi volis preni iometan turni tie ĉar mi estas 644 00:39:58,690 --> 00:40:00,170 ĉe eduka institucio. 645 00:40:00,170 --> 00:40:06,670 Mi volis doni ekzemplon de kiel tio funkcias en eduka esploro 646 00:40:06,670 --> 00:40:07,670 situacio. 647 00:40:07,670 --> 00:40:10,930 Do ekzistas organizo nomata bioboxes. 648 00:40:10,930 --> 00:40:15,450 Bioboxes faras ADN analizo por esploristoj. 649 00:40:15,450 --> 00:40:22,029 >> Nun kion ili trovis estis ke kiam a researcher-- kaj tio ne 650 00:40:22,029 --> 00:40:24,070 la kulpo de iu speciala researcher-- sed kiam 651 00:40:24,070 --> 00:40:31,240 esploristo deplojis algoritmon por analizi, 652 00:40:31,240 --> 00:40:36,670 En aparta maniero, specimenon de ADN, ili skribus la programaron, 653 00:40:36,670 --> 00:40:39,980 eldoni tiun, eble por GitHub aŭ alie, 654 00:40:39,980 --> 00:40:42,680 kaj tiam ili estis faritaj. 655 00:40:42,680 --> 00:40:47,440 >> Nu la problemo estis ke ne nepre reproduktebla. 656 00:40:47,440 --> 00:40:51,610 Ĉar por kompreni la programaro, 657 00:40:51,610 --> 00:40:54,830 ili estus starigita por la ĝusta disvolviĝo medio 658 00:40:54,830 --> 00:41:00,460 ke tiu esploristo uzita, kutime ilia tekkomputilo aŭ servilo, aŭ datumoj 659 00:41:00,460 --> 00:41:04,280 centri ke ili uzis. 660 00:41:04,280 --> 00:41:11,530 Kaj konsekvence, ĝi estis tre malfacila reprodukti esplorrezultoj kiam 661 00:41:11,530 --> 00:41:16,910 analizi DNA specimenoj rigardi ĉe aĵoj kiel incidence-- 662 00:41:16,910 --> 00:41:23,830 kompari efiko de koro atakoj bazitaj sur certaj genoj ĉeestante, 663 00:41:23,830 --> 00:41:28,900 ekzemple, aŭ kanceron risko, aŭ iu el la aliaj specoj de aferoj. 664 00:41:28,900 --> 00:41:33,900 >> Do kion ili faris estis anstataŭe ili komencis krei kontenerojn. 665 00:41:33,900 --> 00:41:39,380 Kaj vi povas iri al bioboxes.org, estas granda organizo. 666 00:41:39,380 --> 00:41:43,900 Kaj kion ili faras estas ili produktas ujoj bazitaj sur esplorado. 667 00:41:43,900 --> 00:41:46,840 Kaj poste kiam ajn iu sendas en ilia provaĵo, ili povas ruli ĝin. 668 00:41:46,840 --> 00:41:52,770 Kaj ĝi havas la tutan medion bezonis kuri ke algoritmo 669 00:41:52,770 --> 00:41:55,370 kaj produkti la rezultojn. 670 00:41:55,370 --> 00:41:58,250 Kaj ili estas trovanta ke ili estas multe pli verŝajna kaj multe 671 00:41:58,250 --> 00:42:01,300 pli rapide povis reveni rezultojn al homoj. 672 00:42:01,300 --> 00:42:06,860 >> Kaj fakte, kion homoj faras kuras sian propran analizon sur ADN, 673 00:42:06,860 --> 00:42:11,220 sendado ke en al bioboxes, kaj tiam biobox nur prenas la datumojn, 674 00:42:11,220 --> 00:42:15,350 kuras kontraŭ la vario de malsamaj ujoj 675 00:42:15,350 --> 00:42:19,030 vidi malsamajn rezultojn bazitaj sur malsamaj esploroj. 676 00:42:19,030 --> 00:42:21,860 Do estas tre potenca maniero en kiu esploristoj 677 00:42:21,860 --> 00:42:28,070 povas fari unu ekzemplon kiu permesas aliaj homoj por provi kaj reprodukti 678 00:42:28,070 --> 00:42:28,650 la rezultoj. 679 00:42:28,650 --> 00:42:31,710 680 00:42:31,710 --> 00:42:34,360 >> Do kiel vi komenci? 681 00:42:34,360 --> 00:42:37,950 682 00:42:37,950 --> 00:42:39,800 Ni bone apogitaj sur Linukso. 683 00:42:39,800 --> 00:42:43,070 Do se vi volas instali ion sur Linukso, 684 00:42:43,070 --> 00:42:45,620 vi uzas vian normo pako direktisto instali. 685 00:42:45,620 --> 00:42:47,600 Se vi uzas Debian, estas apt get. 686 00:42:47,600 --> 00:42:50,500 CentOS estas yum. 687 00:42:50,500 --> 00:42:53,500 Fedora RedHat estas rpm-- mi ne memoras. 688 00:42:53,500 --> 00:42:56,070 Ĉiukaze estas ĉio tie. 689 00:42:56,070 --> 00:42:59,610 Ni apogas grandan gamon de dissendoj Linukso. 690 00:42:59,610 --> 00:43:01,150 Vi povas kontroli tiujn el. 691 00:43:01,150 --> 00:43:06,370 >> Ni ankaŭ havas eblojn por vi povis kuri sur Mac aŭ Windows. 692 00:43:06,370 --> 00:43:10,670 Nun Nico menciis antaŭe ke ĝi estis nur apogita sur Linukso. 693 00:43:10,670 --> 00:43:18,180 Tio estas vera ĉar ĝi bezonas Linuksa kerno. 694 00:43:18,180 --> 00:43:20,540 Sed, vi povas kuri en virtuala maŝino. 695 00:43:20,540 --> 00:43:25,290 Kaj kion la Docker Iloj faras, kion vi povas elŝuti, 696 00:43:25,290 --> 00:43:27,610 ĝi donas al vi, ke virtuala maŝino. 697 00:43:27,610 --> 00:43:37,260 >> Do nur rapidan 48 dua, mi opinias, elŝuti. 698 00:43:37,260 --> 00:43:40,670 Vi nur serĉu per Docker Iloj, elŝutu ĝin al la Mac, 699 00:43:40,670 --> 00:43:43,910 kaj tiu parto estas de Kompreneble akcelis pro kiu 700 00:43:43,910 --> 00:43:47,620 volas spekti download signalo? 701 00:43:47,620 --> 00:43:54,190 Norma Mac instalado, kaj tiam vi 702 00:43:54,190 --> 00:43:59,795 tuj vidos Jerome metis en sian pasvorton. 703 00:43:59,795 --> 00:44:00,670 Tio estas tre ekscita. 704 00:44:00,670 --> 00:44:03,510 705 00:44:03,510 --> 00:44:06,230 Kaj tiam ĝi instalas tuta aro da iloj. 706 00:44:06,230 --> 00:44:10,010 Kaj aparte ĝi volo instali komandlinio. 707 00:44:10,010 --> 00:44:14,220 Kaj tiam vi povus vidi Jerome elprovanta liajn bildojn. 708 00:44:14,220 --> 00:44:19,050 709 00:44:19,050 --> 00:44:22,640 >> Kaj tiam bazita sur tio, vi povas vidi ke YouTube 710 00:44:22,640 --> 00:44:27,420 pensas ke Nico estas interesita en Star Wars, The Jimmy Kimmel spektaklo, 711 00:44:27,420 --> 00:44:29,020 kaj mi pensas Ellen. 712 00:44:29,020 --> 00:44:34,130 Mi pensas ke tiu lasta estas klipon el Ellen spektaklo. 713 00:44:34,130 --> 00:44:37,760 >> Do Docker Iloj kvankam venas kun pli ol nur Docker Maŝino. 714 00:44:37,760 --> 00:44:39,840 Do Docker Maŝino estas Jenon helpas 715 00:44:39,840 --> 00:44:43,710 vin starigi virtualan maŝino sur via Windows 716 00:44:43,710 --> 00:44:52,080 aŭ Mac-- via Windows skatolo aŭ via Mac box-- kaj helpas vin fari provizoj, 717 00:44:52,080 --> 00:44:54,040 >> Sed ĝi ankaŭ venas kun Swarm kaj Compose, 718 00:44:54,040 --> 00:45:00,840 kiu estas desegnita helpi vin fari grandajn skalo deplojoj de via apliko. 719 00:45:00,840 --> 00:45:04,000 Do se vi volas administri grapoloj de nodoj, 720 00:45:04,000 --> 00:45:08,450 kukojn ujoj, Verki kaj Swarm estas la vojo iri pri tio. 721 00:45:08,450 --> 00:45:11,430 >> Kaj kompreneble ĝi venas kun Docker Engine kaj Kitematic, 722 00:45:11,430 --> 00:45:13,250 Kiu estas tiu labortablo GUI. 723 00:45:13,250 --> 00:45:17,060 Mi devus mencii ankaŭ Docker Registro, kiu ne estas inkludita en Iloj, 724 00:45:17,060 --> 00:45:23,150 sed estas vojo por vi kuras viajn proprajn registroj de Docker Bildoj kiel Docker 725 00:45:23,150 --> 00:45:28,970 Nabo, sed vi povas ankaŭ simple uzi Docker Hub kiel vojo fari tion. 726 00:45:28,970 --> 00:45:32,955 >> Kaj, intrigo tordi, vi vidas ĝi kuras en ujo. 727 00:45:32,955 --> 00:45:34,830 Kaj tiel estas kiel ni estas disdoni niajn diapozitivojn. 728 00:45:34,830 --> 00:45:38,610 Ĉi tuta prezento estas fakte HTML glito ferdeko. 729 00:45:38,610 --> 00:45:43,170 Kaj ĝi kuras en ujo, kiun vi povas akiri by-- 730 00:45:43,170 --> 00:45:45,596 >> Nicola Kabar: Jes, tiel ĝi estas kuranta plenan tempon sur mia Max. 731 00:45:45,596 --> 00:45:47,540 Kaj mi prezenti gxin. 732 00:45:47,540 --> 00:45:50,910 Kaj vi nur faru Docker post vi instalas viajn Iloj. 733 00:45:50,910 --> 00:45:57,340 Vi povas simple fari Docker run kaj akiri ĝin, kaj uzi la diapozitivoj. 734 00:45:57,340 --> 00:45:58,830 >> Mano Marks Kaj jen ĝi. 735 00:45:58,830 --> 00:46:02,160 Do ni dankas vin ĉiujn pro veni. 736 00:46:02,160 --> 00:46:03,990 Kaj ni estas feliĉaj por respondi demandojn. 737 00:46:03,990 --> 00:46:07,810 Mi devus mencii antaŭ iu lasas ekzistas ĉemizoj tie. 738 00:46:07,810 --> 00:46:10,940 Pardonu iu ajn kiu rigardas tio sur Livestream aŭ video, 739 00:46:10,940 --> 00:46:12,820 sed ni havas Docker T-ĉemizoj tie. 740 00:46:12,820 --> 00:46:16,250 Kaj ni scias Docker studentoj, kaj en mia sperto, 741 00:46:16,250 --> 00:46:18,940 profesoroj ankaŭ, kiel libera vesto. 742 00:46:18,940 --> 00:46:22,490 >> Do dankon pro veni eksteren. 743 00:46:22,490 --> 00:46:27,050 Kaj sekvi nin en Twitter se vi volas, aŭ ne. 744 00:46:27,050 --> 00:46:27,910 Mi ne zorgas. 745 00:46:27,910 --> 00:46:29,430 Ankaŭ sekvi Docker en Twitter. 746 00:46:29,430 --> 00:46:31,890 Jen ankaŭ interesa. 747 00:46:31,890 --> 00:46:32,990 Kaj poste jen ĝi. 748 00:46:32,990 --> 00:46:33,490 Docker.com. 749 00:46:33,490 --> 00:46:35,410 Dankon. 750 00:46:35,410 --> 00:46:39,360 >> [Aplaŭdo] 751 00:46:39,360 --> 00:46:41,625