[Muusika mängib] DAVID Humala: Okei. Tänan sind nii palju tulemas. See on CS50 seminar sadamatööline, et tehnoloogia, et me ise ja CS50 on hakanud kasutama juba mõnda aega. Nii et minu nimi on David Humala, ma õpetada Harvardi Sissejuhatus to Computer Science. Juba mõnda aastat, me oleme andes üliõpilastele allalaaditav kliendipoolse virtuaalmasina millele nad oma probleeme komplekti. Et meil on nüüd üleviidud pilve keskkond et tegelikult kasutab seda tehnoloogiat nimetatakse sadamatööline, et kõik selle CS50 õpilased on nüüd oma enda sadamatööline konteinerid et saad kohe kõik teada. Lisaks kohta CS50 serverisse pool klastri, aastaid olime kasutades Amazon Cloud server. Me jooksid üksikute virtuaalseid masinaid. Ka oleme hakanud üleminek neid asju nimetatakse sadamatööline konteinerid nii, et kõik meie rakendused on nüüd suurepäraselt üksteisest eraldatud. Nii et rohkem, lubage mul tutvustada meie sõbrad, Nico ja Mano, alates sadamatööline ise. Nicola kabar: Aitäh, David. Tere kõigile. Minu nimi on Nico ja see on Mano. Oleme alates sadamatööline. Me läheme räägi about-- andes kutid intro sadamatööline, ja loodetavasti lõpus Selle rääkida saab aru, kui palju saate arstilt oksalaat oma rakenduse arendamine ja kasutuselevõtu. Niisiis, me ei kavatse alustada reaalset Kiire mõned taustteavet. Kirjelda, mida sadamatööline on. Kuidas see töötab? Kuidas seda architected? Ma tulen teeme mõned demod. Ja Mano läheb kirjeldatakse, kuidas saab kasutada sadamatööline ja annab teile konkreetseid samme kuidas saab alustada. Oleksin väga tänulik, kui te poisid mahub maha oma küsimustele lõpus. Nii, ma võiks tegeleda need, küsimusi kogu esitluse. Nii me jätan mõnda aega lõpupoole küsimustele. Nii lihtsalt reaalne kiire, kellel on tegelikult kunagi töötanud sadamatööline, nagu mängitakse seda? Awesome. Cool. Hea. Niisiis, ma hakkan mõned ajalugu. Nii tagasi 90ndatel ja 2000-ndate alguses, põhiliselt veebi arendajad, app arendajad, kui nad läksid kasutada taotluse seoti otse metall-. See oli üks server. See oli ühe taotluse. Traditsiooniliselt näide oleks nagu LAMP korstnat, kus sa tegelikult tuli avab basseini ressursse. CPU, mälu, ketas, võrgu paigaldamine operatsioonisüsteemi peal, et. Kui oled teenivad midagi, kui sa oled tegelikult võttes veebiserver, sa pead midagi Apache see kätte. Kui teie taotlus vajab andmebaasi tagantkätt, siis oleks paigaldada midagi nagu MySQL, ja nii edasi. Ja kui sa pead jooksma aeg, PHPs ja PHP Python tööd olid seal. Ja nii me tegelikult tuli võtma neid samme, et saada oma taotlus ja töötab. Kui teil on vaja rohkem arvutama võimu, siis Põhimõtteliselt tuli kutsuda oma Ops mees või gal minna ja Koguda uus tükk riistvara, ühenda see, ja sa pead kordama neid protsesse ja jälle. Nii oli see protsess suhteliselt kallis. Kindlasti oli väga aeglane. See oli ebaefektiivne. Ja paljudel juhtudel, teie riist oli alakoormatud. Niisiis, 90.-ndate lõpust ja 2000. aastate alguses, riistvara virtualiseerimise leidsin. Ja nagu näete siin pilt, põhimõtteliselt mida nad tegid ammutatakse bassein tasuta riistvara ressursse ja selline oli neid to ülemiste kihtide, sel juhul külaline operatsioonisüsteemi. Ja kogu idee virtuaalmasina leidsin ja mis tõesti aitas Cloud arvuti nagu me teame seda täna. Mida see tähendas on teil võib kasutada mitut VM, mis tähendas mitme korstnad, mitu taotluse kohta sama füüsilise masina. See kindlasti aitas kiirus taotluse kasutuselevõttu. Kindlasti on kulud. Sa ei pea minema ja veeta energiat, aega ja ressursse Koguda rohkem servereid saada rohkem arvutama. Ja kiirus tegelikult tuua Nende vahendite up on palju kiirem. Hea. Nii et me lahendada maailma näljahäda, eks? Ei ole tegelikult. Niisiis, virtualiseerimine koguni see tegelikult aidanud, probleemi, see tegelikult kasutusele palju väljakutseid. Hypervisor kindlasti kasutusele palju keerukamaks, käitlemise aluseks olevates basseini ressursse. On raskemad selles mõttes, et enne sa pidid ühe operatsioonisüsteemi, mis on nagu kolm, neli kontserti kettal. Nüüd, kui sul on 10 masinad ühe riistvara sa pead korrutama, et mitmeid masinaid. See on kindlasti rohkem kallis mõnes mõttes sa ikka pead litsentsimise jaoks virtualiseerimine tehnoloogia kui see ei ole avatud lähtekoodiga. Aga ärgem võtta kõik laenu virtualiseerimine. Sest see, mis juhtus on seal palju korstnad ja palju tarkvara tehnoloogiaid, mis võimaldas poolt, kui kiiresti sa suutsid saada ressurssidele koos Cloud buum. Niisiis, täna ühe app või teenust saab kasuta tahes järgmiste runtimes või andmebaasides. PHP, Python, MySQL, Redis, tühi-tähi. Nii et palju keerulisemaks selle pakkide arv tegelikult tuua ühe teenuse. Ja koos, et teil on olnud palju aluseks ressursse või infrastruktuuri tüüpi testida juurutada ja põhimõtteliselt võtta tootmise need rakendused et sa arendada. Eriti kui teie meeskonnad on kasvatatud töötavad need rakendused seal on palju keerukus ja väljakutsed et toodi et tagada cycle-- põhimõtteliselt taotluse arengu vältel, on tegelikult edukad. Nii, et teie taotlus töötab lokaalselt oma kohaliku VM ei garanteeri, et teie kolleegi läheb oodata samu tulemusi. Ja kui operatsioonide meeskond on , osalevad mida on ja rakendades tootmises skaala, samuti ei ole mingit garantiid et see on tegelikult juhtub. Nii et see jätab meile väga big-- palju küsimärke, palju väljakutseid tegelikult silmitsi sarnaselt päevil. Ja mis meenutas laevanduses. Nii laevanduses oli palju kaupu, nagu näete vasakul servas. Ja paremal poolel, seal on palju, põhiliselt kuidas saata neid kaupu. Ja mis juhtub kui paar inimesed tulid kokku ja ütles, meil on vaja ühtlustada, kuidas me tegelikult saata need kaubad. Ja buum, on teil mitmeliigilise veokonteinerit. Nii leppisid nad kokku kõige ühise suuruses konteineri. Kuidas nendega toime tulla. Mis täpne meetod, mida vajate neid võimalik laadida ja maha laadida neid. Ja seetõttu, et tõeliselt aitas laevanduses. Nüüd rohkem kui 90% keskenduda transportida ülemaailmselt kasutavad neid konteinereid. Ja see kindlasti väheneb kulud, samuti kahju tõttu shipping. Nii me võtame sama mudel ja me kohaldatakse kahe app arengut tarkvara arhitektuur, selles mõttes et konteinerite võttis virtualiseerimine ühe taseme võrra üles. Nii et selle asemel teed, et riistvara tasemel, sai enam tegevustoetust süsteemi tasandil virtualiseerimine. Ja me teeme seda, andes igale taotluse oma kerge, isoleeritud, runnable ja kaasaskantav, mis kõige tähtsam, viis tegelikult paketi kõik, mis ta peab kulgema. Kuskil saab sõita. Nii, sõltumata sellest, kas sa kasutad seda kohaliku dev keskkonnas oma tootmise keskkond, oma lavastuses või testimine. Ükskõik, mis on aluseks infrastruktuur on olemas, sul oli funktsionaalne töötab app. Nii see on täpselt see, mida põhimõtteliselt konteinerid teha see probleem. Nad suhtlevad seda pakendamisest nii, et ta ei saa garanteerida, et see on paigutatud edukalt ükskõik kus ta elab. Nii et kui sa lähed nagu Bob see on ikka OK. Kui oled segi, mida ma räägin, Ma lähen viimistledes seda. Niisiis, kuidas sadamatööline ise sobi see pilt? Nii sadamatööline on avatud platvorm lihtsalt rõhutada kergesti, ehitada laeva, joosta, kerge kaasaskantav ise piisavalt app konteinerid kõikjal. Nii et kui te võtate sellest midagi rääkida, siis võtke järgmine. Kui teil on oma app töötab kohapeal ja sa arendanud seda kasutamisel sadamatööline platvorm, ootame seda edukalt kasutusele võetud. Ükskõik, milline on aluseks infrastruktuuri. Nii et kui teil on sadamatööline konteiner ja see töötab, siis niikaua kui seal on sadamatööline mootor teiselt side-- kui teie operatsioon infrastruktuuri kasutab igal Cloud, kas see on AWS või Google'i või Microsofti või mõneks avaliku pilvisus, või oma Cloud, või oma avatud korstnat Cloud, või oma kohalikku keskkonda. Kui teil on mootori töötab, et vahendid see saab olema edukalt kasutada seal. See saab olema töökorras täpselt sama käitumine nagu te architected seda. Nii et kui me vaatame at-- ma lähen läbida, mis tegelikult on põhikomponendid sadamatööline. Nii Mootor on keskmes sadamatööline. On aju. See lavastab hoone, laevandus, ja juurutamiseks ja haldamiseks mahutite ise. Ma kaevama mida mootor ei detailsemalt teine. Põhimõtteliselt, kuna arst on ehitatud ümber klient server arhitektuuri, nii et suhelda Mootor sa pead mingi klient. Pildid on mallid kui mahuteid ehitatud. Nii pildid on põhimõtteliselt lihtsalt staatilisi faile. Blanketid ja konteinerid on tegelikult see, mis on töötab käivitamisel, et kannab oma taotluse või midagi andmetega. Registry on adresseeritud probleemina kuidas sa tegelikult jagada pilte. Nii et kui teil on vaja jagada pilti et sa töötasid oma kolleegile või ops meeskond, siis kasuta seda kasutades Registry. Võite alla laadida vabavaraline versiooni, et sadamatööline töötanud ja avada hangitud. Või saab kasutada sadamatööline abi, mis on Cloud versioon push and pull pilte seal. See on suur asi. Sest seal on suur ökosüsteemi ümber sadamatööline ja see on tõesti kõvasti, kasutades hub. Nii et kokku siin, see on, kuidas minimalistlik sadamatööline töökorraldust klient. Sa suhelda juhiks Sel juhul on sadamatööline deemonid. See on sama asi nagu mootori. Sul ei käske Sadamatööline ehitada, tõmba, run. Ja Mootor ise käib ja teeb neid asju. Nii kas see suhtleb Registry tõmmata neid pilte ning kihid pilte. Kas siis, kui soovite kasutada, joosta konteinerid, tappa, viska neid maha, tühi-tähi. Nii et see võtab kokku töökorraldus Kõigi nende komponente. Nii et kui te võtate iga osa ise. Nii mootori, see on lihtsalt deemon. Seda saad liiki mängida toetada seda Linux, sest see ei nõuda teatud Linux kernel funktsioone. Aga Windows töötab kohta teeb sama asja. See peaks toetama Windows Server 2016. Niisiis, jälle, vastutus koos mootor on, või on ehitada pilte. Tõmmake pilte sadamatööline Hub või oma kantselei. Kui sa oled teinud need pildid või loote uusi pilte, võite vajutada neid tagasi registri jagada neid teistele meeskondadele. Ja üritab ohjeldada seda kohapeal ja hallata konteinerid elutsükli kohapeal. See on üles ehitatud HTTP REST API. Nii tehniliselt võimalik kirjutada oma kliendi nii kaua kui see kasutab HTTP, mis on väga standard mehhanism rääkida Engine ja palju muid teenuseid. Ja näete siin, et sõltumata mida infrastruktuuri on, nii kaua kui can-- kõik Sul on vaja operatsioonisüsteemi süsteemi, Linux konkreetselt. Ja saate installida sadamatööline Engine peale selle ja selle pöörlema ja see lavastab põhiliselt kõik need app üks, kaks, ja kolm on tegelik konteinerid. Nii et mootor. Nagu ma varem mainisin, sest sa pead suhelda Mootor, seal on klient. Aga tegelikult, kui installite Sadamatööline, see laevade ta. Seega saab paigaldada, nii et see on ühe binaarse. Ja seda saab teha kohalikud kõned Teie sadamatööline Engine. Või serveri kõned remote mootorid. See ei kasuta HTTP, kuna Mainisin. Seal on GUI klient nimega Kitematic alates sadamatööline. Ja seal on kindlasti palju muid toredaid inimesi kes on hoone palju GUIs et põhimõtteliselt rakendada mõned HTTP kutsub rääkima Engine. Lihtsalt mõned proovi käske. Kui sa sadamatööline versioon, oleks näitan sulle kliendi versiooni, samuti server versiooni. Kui sa sadamatööline info siis ütlen sulle kõik andmed kui palju konteinereid töötab või loodud, kui palju pilte teil on, ja nii edasi ja nii edasi. Siin ma olen, on kõrval viimane lahter, mul Doctor perspektiivis. Nii see on, kuidas ma olen tegelikult luues konteinerisse. Ja ma ei anna seda kaja Hello World ja magama teise ja tühi-tähi. Ja näete tulemus. Nii et see on pidev. Ja sarnane Linux ps, näed kõik protsessid ning sel juhul kõik jooksvad konteinerid. See üks viidates tagasi konteineri Ma lihtsalt loodud. Nii, see on tõesti oluline, sest nagu, see võib olla natuke segane. Nii pildid on ainult lugemiseks failide kogumit, eks? Kõik see on meie konteineri põhineb. Aga nad vaid ainult lugemiseks. Nii et sa alustad alusega pilti. See kipub jäljendada OS-like, nii Ubuntu, CentOS, tühi-tähi baasi pilti. Ja siis hakkate hoone peal et teatud kihid, mis moodustavad Sinu lõpuks pilt, lõpptulemus siin. Ja kõik need kihid peaks olema vanem pilt et see viitab, kui ta tegelikult tahab luua. Nad on muutumatu, selles mõttes, et kuna nad ainult lugemiseks, See ei ole ju neid muuta. Võite kasutada neid, et luua konteineri pilt, mis kutsuvad kõiki järgnenud nõutud pilte alt. Võite teha muudatusi teistsuguse kihti, see on ümberkirjutamine kiht ma tulen rääkida teise. Aga kõik need kihid ei ole kunagi muutunud. Põhimõtteliselt pilte kasutada midagi nimetatakse Liidu failisüsteemi UFS. Ja seal on eri ladustamise taustaprogrammid et kasutada seda tehnoloogiat. Ja mida see tähendab, et see koondab erinevad failisüsteemid et need näevad välja nagu üks. Nii saab tegelikult alates taotluse perspektiivi, sul on peal et näitab kõik erinevad failisüsteemi vaja eest, et saaks toimida. Aga nad on tegelikult selle, nad tegelikult eraldi kohtades ja rakenda muude mahutite samuti. Nii et nagu näete siin, et Kui hakkame koos deemon pilti alusena pilt ja seejärel läheme ja lisada [? Emacsis?] ja siis see on juba teine ​​kiht. Ja seejärel lisage Apache. See on veel üks kiht. Ja siis me kulutame konteiner sellest. Kõik need pildid, iga nimetatud kihtide eristub ja võib olla taaskasutada teiste konteineritesse. Kui te vaatate konteinerid ise, nad kuidagi nagu VM-like, kuid mitte ravida samal ajal. Nii, et neil ei ole tehniliselt on täis operatsioonisüsteemi nende alt. Nad kasutavad ühte tuuma vastuvõtva operatsioonisüsteemi. Ja nad ehitavad peal, et. Nad matkivad, kuidas nad vaatavad. Nad matkivad oma root faili süsteemi operatsioonisüsteemi. Aga nad tegelikult ei imitatsiooniga. Niisiis, selle asemel, muutumatu kihid, viimane kiht, mis on mahuti ise, et see on read-write kiht. See töötab ka protsessid Teie avalduse. Ja see sõltub kihid. Iga konteineri loodud pilt. Ja see pilt võib olla üksik kiht või mitmekihiline pilt. Ja ma tahan siinkohal märkida, et sadamatööline tugevalt kasutab, või põhineb Copy-On-Write mehhanism. Nii et tegelikult, kui te ei ole muudatuste tegemise mahuti ta ei kavatse võtta lisaruumi. Nii et põhimõtteliselt, kui sa Kokkuvõttes Copy-On-Write. See saab kindlasti kiirendada boot aega konteiner. Sest kui sa ei tee muudatusi mahuti see kasutades, mis on juba olemas. Niisiis, kuidas see toimib. Osa sellest on nagu, just nüüd, see kasutab vähemalt kaks peamist kernel Omadused. Ja see on põhimõtteliselt mida loodud, et isoleerimise tase jaoks konteinerite ise. Need omadused on nimeruumid ja cgroups. Nii nimeruumid on viis luua isoleeritud ressursse, nii, et mahuti sees iseenesest Ainult näed teatud ressursse. Nagu võrgustike liides või teatud kasutajate või tühi-tähi. Ja need on nähtaval ainult siin ja ainult ligipääsetavad mahuti sees. Cgroup teisel pool piirid kuidas te kasutate neid vahendeid. CPU, mälu ja ketas. Kui sa ei saa minna, ma tähendavad tegelikult funktsioone, mis töötati välja by-- nad osa Linuxi tuuma. Nii nad ei leiutas poolt või uuesti loodud sadamatööline. Sadamatööline kasutab neid. Mis Doctor tõesti siin on tegelikult see Orchestrated loomine nimeruumid iga mahuti ja luua cgroups nii et see naeruväärselt lihtne luua konteinerid kasutades neid funktsioone. Muidugi, nagu ma varem kirjeldatud Liidu Failisüsteeme ja Copy-On-kirjutada tõeliselt aidata kiirust ja ketas kasutamise konteinerid. Ja kui sa saad oma käed ümber sadamatööline, sa lähed, et näha, kui kiiresti see on tegelikult spin up konteinerid ja pisar neid. Niisiis, kui sa võiks küsida, kuidas saab sa tegelikult ehitada pilte? Ehitame piltide loomise protsessi konteinerid ja muudatuste tegemine, ümbertegemine neid, ning kohustades neid arvesse muutub pilt. Nii et see on kana ja muna viide siin sest kõik konteinerid tulevad alates kaadreid ja tulla alates pühendunud konteinereid, enamjaolt. On kolm võimalust luua pilte. Ma lähen, et kirjeldada esimene ja viimane. Võite käsitsi minna ja joosta konteiner ja teha need muudatused, nagu sa teha mingeid VM või operatsioonisüsteem, näiteks kui paigaldamist uue binaarpaketist Lisades failisüsteeme ja tühi-tähi. Ja siis väljumiseks, kui näed seal üleval. Olen väljudes oma konteiner. Ja siis ma teen sadamatööline toime. Ja ma toimepanemise seda. Näete, et mitmed siin on lihtsalt UUID- või esimese 12 bitti UUID-. Või baiti UUID-. Ja siis ma helistan talle minu pilti. Nüüd sadamatööline hoolitseb Salvestamise kõike ma tegin seda ja luua uusi image põhineb sellel. Ma ei hakka rääkima paki, kuid seal on, kuidas sa saad ühe, luua ühtne, või teha ühe kiht pilti kasutades tar-faile. Mis ma sellest rääkida Ja mis on enamasti kasutatakse täna on Dockerfile. Milline on tehniliselt esimene samm automatiseeritud poolt sadamatööline ise. Nii Dockerfiles on asju, mida sa oled näeme ka palju github repod täna. See on põhimõtteliselt ainult tekstifaili, mis kirjeldab täpselt, kuidas ehitada pildi. Ja iga rida, siis tegelikult tekitab konteiner, käivitab see liin, kohustub et konteiner sisse uus pilt, ja sa põhiliselt seda kasutada kõik hilisemad toimingud kuni jõuad viimase pildi. Mis on põhimõtteliselt Lõppeesmärgiks siin lõpus. Ja pärast seda, kui exec-- pärast kirjuta oma Dockerfile, mis on puhas tekst, sa ei sadamatööline ehitada ja pildi nimi. Ja sa osutavad, et see on kus Dockerfile on. Ja te võite oodata oma pilt nagu pilt, mida on kohapeal. Nii see on ainult visuaalse näide, mis juhtub. Hakkad alusega pilti. Sa jooksed, et nõusse, et ei muuda baasi pilt ise. Kuid selle asemel loob kirjutada kiht peal kus sa teha muudatusi, kus sa endale ja sa korrake protsessi kuni saad oma lõpliku pildi. Ja seda tehes igal teisel ehitada Protsess võib kasutada sama kihid ja same-- põhimõtteliselt Sadamatööline puhverdab need kihid. Nii et kui ma teen täpselt sama protsess, kuid selle asemel, paigaldus PHP, Ma paigaldus Python. See saab kasutada Apache ja Ubuntu. Nii et kuidas sa kasutades oma kettale. See kasutades vahemälu ja saadaval pilte seal. Viimane tükk on Registry, mis kuidas sa levitada oma pilte. Ja nagu ma mainisin, seal on Cloud versiooni, mis on sadamatööline Hub. Võite minna ja uurida palju, põhiliselt see on avalik SAS toode, mis saad veel erapildid, kuid seal on palju avalikke pilte. See on tegelikult piiramatu, saate push piiramatu avaliku pilte seal. Ja see, kuidas saad koostööd oma meeskonda. Sa võid näidata neile sind repo ja nad saavad selle alla laadida või pildi ja nad saavad selle alla laadida. Nii piisavaks rääkida. Kes tahab näha mõned demod reaalne kiire? Hästi. Nii et siin ma olen. Ca kutid näen ekraanil? Hästi. Nii et mul on sadamatööline töötab siin, nii et ma saab kontrollida it's-- See on versioon of sadamatööline, et jookseb. Kas teha sadamatööline info. Vaata kogu infot, kui palju images neil, ja nii edasi ja nii edasi. Sadamatööline PS, seal on midagi töötab. Liitsõnumite neid. Nii et esimene asi, mida ma tahan teha, on näidata kuidas saate kergesti käivitada konteinerisse. Nii ilu umbes Doktor perspektiivis, kui see tegelikult ei leia pilti kohapealt Vaikimisi seda räägib doktor Hub ja püüab leida seal ja allalaadimine seda sinu jaoks. Nii et see sisaldab sadamatööline tõmba käsk, loomulikult. Nii et kui ma teha sadamatööline perspektiivis hello-maailma. Niisiis, esimene see läheb proovida leida seda. Muidu nagu näete siin, see ei leidnud seda kohapeal. Praegu see lihtsalt tõmmatakse kaks kihti mis tegi selle pildi ja ma jooksin ta. Tere-maailm on lihtsalt põhimõtteliselt väljundid, mida olete teinud. Nii et see on kõige lihtsam, üks lihtsamaid näiteid. Nii tegelikult ma lihtsalt jooksin ja lõpetatakse konteineri reaalne kiire. Kui ma tahan run-- ja muide, kui Ma tahan aega, et lihtsalt, et sa teaksid, see on, kui kaua kulub tegelikult spin up ja ohjeldama. Me mõõdame seda millisekundit. Nii et näete, kui palju võib see tegelikult aitab teil mitte ainult testimise aga ka isegi kasutuselevõttu. Nii et on kiire märkus selle kohta. Järgmine asi, mida ma olen lähen tegema, on tegelikult joosta pilt ma olen juba valmis. Nii DOCKER perspektiivis. -d on vaid lipu öelda selle töötamine taustal. Ja p loovutab teatud sadamate. Kuna vaikimisi konteinerid on isoleeritud, nii et sa pead täpselt määrata, kuidas saab neid kasutada. Ja sel juhul, ma ütlen sadamatööline kaardistada juhuslik porti kindlaksmääratud sadamates mahuti. Ja see on põhimõtteliselt kus image-- loodetavasti see on õige. Nii see paralleelselt allalaadimine iga need kihid nagu näete siin. Need on kihtide tegemise lõppu pilti, et ma ehitasin. See saab võtta teine. Ja voila. Nüüd, kui ma teha laevalaadija ps, ma peaks näha midagi, mis töötab. Ma nägema ID pilt et see see põhines off, ja käsk, et hukati. Ja kuidas seda kasutada on põhimõtteliselt sa minna, et sadama. Nii et ma lähen mina-- seda on mul hakkab see AWS. Ma lähen minema 32769. Oops. Ja siin me läheme. Nii et see on tegelikult lihtsalt veebiteenuse, mis näitab, mis konteinerisse see kuramuse serveeritakse. Nii näed, et see on konteiner a9f. Ja siin see on nimetada mahuti. Nii kutid näha, kui kiiresti ta oli tegelikult mitte ainult tõmmata, vaid ka kasutada pakendit. Nüüd on järgmiseks sammuks uurida Dockerfiles ja kuidas me saame tegelikult ehitada uusi pilte. Ma lihtsalt minema saada kloon, et proovi Dockerfile põhineb varasemal diagramm, üks Apache ja PHP. Loodetavasti ma mäletan minu repo. Nii et mul on minu hoidla kohe. Ja sa lähed, et näha see palju tegelikult. Ma ei saa installida puu. Nii et põhimõtteliselt sa lähed, et näha, kuidas oma lähtekoodi dokumentatsiooni ümber seda ja siis Dockerfile kohta kuidas tegelikult pakendada. Nii et see on lihtsalt proov PHP mis kajastab hello CS50. Nii et kui ma tahan kasutada seda, Ma teen laevalaadija ehitada. Mul on ehitada see esimene. Ma lähen nime demo_cs50. Ja sa pead silt ka. Nii saab seda nimetada V1 dot. Nii nagu ma varem kirjeldatud, mida ma teen täna on Ma ütlen sadamatööline minna kasutamine selle-- tegelikult, sorry, minu paha. Me ei võta pilk kell Dockerfile ise. Nii et ainsad asjad siin on index.php samuti readme faili ja Dockerfile. Nii et kui te võtate pilk Dockerfile, nii et see on väga sarnane sellega, mida Ma varem kirjeldatud. See on lihtsalt kamp samme, et sadamatööline täidab luues ja lammutades konteinerid ja [? lugedes?] need pildi. Ja põhimõtteliselt saab see-- [kuuldamatu] see siin-- kuid see on kohaliku repo. See saab minna ja haarata index.php. Nii et ainus lähtekoodi, et on tegelikult osa oma taotluse. Kõik see on põhimõtteliselt operatsioonisüsteemi kanalisatsioon, õigete paketid ja Apache ja PHP ja tühi-tähi. Aga see on tegelikult võttes index.php sooritamas anumasse, arvesse pildi. Nii et kui sa minna ja joosta käsk, tehes järgmist, see going-- tegelikult, Selleks võib kuluda natuke. Loodetavasti see ei võta liiga kaua aega. Nii näete samme. Ja ma kutsun teid üles minna tagasi koju täna ja proovida. Ja Mano kirjeldada kuidas täpselt sa seda. Aga see on tõesti väga täpselt näha mis toimub kulisside taga. Aga see on naeruväärselt lihtne ehitada pilte ja kasutada neid kasutades sadamatööline. See võtab natuke kauem kui ma arvasin. Vaatame, mis juhtub siis, kui sina-- jahtuda. Nii et nagu näete, kõik need sammud esindavad read Dockerfile. Ja see näitab siin, et seda edukalt ehitatud see pilt. Nii et kui ma teen laevalaadija pilte, ma lähen vaata kõiki pilte, mis mul kohapeal. Ja üks neist on nn minu kasutajanimi ja pildi nimi, ja tag representing-- Peamiselt on see versioon tag. Nüüd, kui ma jooksen see, ma teen laevalaadija perspektiivis. Ja ma tahan teha -d P. Kas v1. Nii et ma näen nüüd, et mul on kaks konteinerid töötab, üks, et ma lihtsalt loodud ja hello Sadamatööline üks, et ma sain viimase. Ja näed siin, et seda määratud seda teist porti. Nii et kui ma lähen sama IP vaid anda sellele erineva port-- loodetavasti ma ei teinud seda. Nüüd on see taotlus et ma lihtsalt kasutada. Kui ma tahan teha muudatusi, ma võib kiiresti muuta lähtekoodi ja teha järgmist. Teeme hello Harvard. Nüüd, mis toimub juhtuda, et ma olen läheb sildistada koos erinevat version-- oh, ei see tüüp-- sildistada erineva versiooni. Ja sa lähed see-- te poisid ootavad see võtaks ühepalju aega ehitada see teist korda või mitte? Hea küll, ja keegi teab miks? Ütle välja. Sihtrühm: [kuuldamatu] Nicola kabar: See on põhimõtteliselt me muuta ainult üks hilisemaid etappe. Ja seetõttu, et see läheb kasutage vahemälu ja kasutada kõiki neid kihte. Ja see on tõesti mõned killer omadused sadamatööline kuidas see tegelikult kasutab ja korduvkasutamisele ülevõtu kettalt sama täpse teave. Nii et kui me teeme sama asja, kulus vaid paar sekundit. Kui me tahame redeploy-- nii nüüd Ma peaks olema kolm konteinerid. Aga see on seda kätte the-- seitse üks. Nüüd on see kolmas konteiner. Igaüks mõista mida ma just tegin siin? Nüüd, kui sa tahad jagada seda konteiner reaalne kiire oma sõpradega, saate lihtsalt teha laevalaadija lükata nimi konteineri, loodetavasti. Nüüd siis läheb lükake mina-- Ma ei allkirjastatud siin. Vabandust selle pärast. Aga ma ei kavatse tõrkeotsingu nüüd. Aga põhimõtteliselt, et üks käsk on lihtsalt läheb üles lükake. Ja sa lähed, et oleks võimalik vaata, kui sa lähed sadamatööline Hub Ja sa sisse logida, sa oled saab olema võimalik seda näha. Ja siis saate lihtsalt juhtida kes läheb kasutada, et pildi minna ja tõmmata. Ja nad ei kasuta seda. Seda, loodetavasti Ma nagu näitas kui lihtne on töötada sadamatööline. Ja ma olen lihtsalt kavatse anna see tagasi Mano. Ja ta läheb siit ise. MANO MARKS: Kõik õige thanks, tänu Nico. Mis siis? Nii et üks asi, mida ma tahtnud teha, on kokku pandud miks see on important-- miks sadamatööline ja miks konteinerid on selline oluline uus areng, uus viis tegelikult seda tarkvara. Ja enne kui ma teen, ma lähen lihtsalt tutvustada mõned stats. Ma ei kavatse lugeda kõik need. Aga see näitab teile palju sellest, kuidas populaarne on see ühenduses. Tuum sadamatööline tehnoloogia on avatud lähtekoodiga. Nii et sadamatööline Mootor, komponeerida, Swarm, hunnik muid asju on kõik avatud lähtekoodiga. Ja meil on, mida ma öelda, 1300 toetajad. Näete nüüd, kui te vaatate arvu tööpakkumist, viimast korda me vaatasime, et see oli umbes 43.000 töökohta avad nimetamine tuttav sadamatööline. Sajad miljonid pildid on alla laaditud sadamatööline Hub. Ja, noh, palju suuri statistika. Neile, kes on uudishimulik, see algselt kirjutatud Python ja siis ümberkirjutatud Go. Ja see on olnud vaid avada source-- see on ainult lastud umbes 2 ja 1/2 aastat, mis tähendab, et 2 ja 1/2 aastat, oleme näinud väga palju majanduskasvu ja tähtsus Selle kogukonnas. Ja nii ma tahan rääkida natuke miks. Nii lihtsalt korrata mõned Nico põhipunkte, sadamatööline on kiire. See on kaasaskantav. See on korratavad. Ja see loob standard keskkond. Ja what-- see on minu crappy materdama monoliite slide-- mida see aitab inimestel teha, mis palju tööstuse tarkvara hakkas teeme 2000-ndate alguses, liigub Nende monoliitsed ühe rakendused kus iga sõltuvuse pidi olema kontrollida enne kogu app oli tuleb kasutusele võtta, mis võib tähendada kodulehel ainult sain kasutada kord iga kolme kuu tagant või enama et palju teenus orienteeritud arhitektuuri või componentized teist tüüpi kohaldamise arhitektuuri. Ja nii võimaldab neid Selline arhitektuur et ära Sadamatööline joosta nendes kolmes põhiline areng, mis on arengu kirjalikult oma tegelikku koodi testida oma kood, ja rakendades seda. Miks on see oluline? Kui oled a-- lubage mul tuua üks näide. Kui teil on veebileht seadme arendaja, sa oled arendada veebileht, mis on põhineb andmebaasi, et David toodetud siin. Sorry David, ma helistan sulle välja. Kui soovid kasutada Kogu asi, soovid pea ootama all traditsiooniline monoliitsed tarkvaraarenduse keskkond, sa pead ootama kuni ta oli selleks andmebaasis Enne võiks tegelikult teha muudatusi oma kodulehel. Sa pead taasalustada kogu taotluse teha. Ja mis sadamatööline aitab teil teha, on iga inimese töö eri osad ning ajakohastab neid, sest need lähevad, lihtsalt tegemise Veenduge, et liidesed jäävad samaks. Mida ta on teinud on see nihkunud inimesed tegemast nende massiline monoliitsed architected tarkvara kasutusele iga kuu pideva integratsiooni ja pidev areng keskkond. Nüüd ei ole see ainulaadne sadamatööline, kuid sadamatööline muudab nii palju lihtsam, mis tähendab, et sa oled põhiliselt pidevalt rakendades. Me räägime ettevõtted, mis on rakendades avaliku sõidusuunas rakendused tuhandeid kordi päevas, sest nad näevad väärtust vaid tegemist väikesed muutused ja nii kaua kuna see jookseb läbi katsed, Lastes minna tootmisse. Nico oli alati mulle, varasema et paljudes keskkondades, standard elutsükli konteineri mõõdetakse sekundites arvestades virtuaalmasinana võidakse kuudes. Tahtsin võtta kerge keera siin, sest ma olen õppeasutuses. Tahtsin tuua näite, kuidas see toimib haridusuurimuslikus olukorda. Nii et organisatsioon nimetatakse bioboxes. Bioboxes teeb DNA analüüsi teadlastele. Nüüd leidus, et kui researcher-- ja see ei ole süü mingit erilist researcher-- aga kui teadlane kasutusele algoritmi analüüsida, Teatud viisil, DNA proovi, nad kirjutada tarkvara, avaldada, et võib-olla Github või kusagil mujal, ja siis nad olid teinud. Noh probleem oli see, et ei pruugi korratavad. Sest et mõista tarkvara nad oleks jaoks loodud täpse arengu keskkond et see teadlane kasutatakse tavaliselt oma sülearvuti või server või andmete keskus, mis nad kasutasid. Ja seetõttu, et see oli väga raske reprodutseerida uurimistöö tulemused, kui DNA analüüsi proove vaatama asju nagu incidence-- võrrelda infarkti esinemissagedust põhineb teatud geenid on olemas, Näiteks või vähiriski, või mõne asju. Mida nad tegid asemel oli hakkasid nad luua konteinerid. Ja te võite minna bioboxes.org, see on suurepärane organisatsioon. Ja mida nad teevad, on nad toodavad konteinerid, mis põhineb teadustöö. Ja siis kui keegi saadab oma proovi, nad saavad kasutada seda. Ja see on kõik keskkond vaja käivitada, et algoritm ja toota tulemusi. Ja nad leiavad, et nad on palju tõenäolisem ja palju kiiremini võimelised tagasi tulemusi inimestega. Ja tegelikult, mida inimesed teevad töötab oma analüüsi DNA, saates, et sisse bioboxes ja siis biobox lihtsalt võtab andmed, käivitab selle vastu erinevaid eri konteineritesse näha erinevaid tulemusi põhinevad erinevatel uurimistöö. Nii et see on väga võimas viis, kuidas teadlased võib teha ühe eksemplariga, mis võimaldab teised inimesed proovida ja paljuneda tulemused. Niisiis, kuidas sa alustada? Meil on hästi toetatud Linux. Nii et kui soovite installida midagi Linux, sa kasutada oma standard pakihaldusmehhanismi paigaldada. Kui te kasutate Debian, see on apt get. CentOS on yum. Fedora Red Hat on rpm-- ma ei mäleta. Igatahes, see kõik on seal. Toetame suur valik Linuxi distributsioonid. Te saate vaadata neid välja. Meil on ka võimalusi, et sa võiks käivitada Mac või Windows. Nüüd Nico varem mainitud, et see oli ainult toetatud Linux. See on tõsi, sest see vajab Linux kernel. Aga, saate käivitada virtuaalne masin. Ja mida sadamatööline Tööriistad ei, mille saate alla laadida, see annab sulle, et virtuaalne masin. Nii lihtsalt kiire 48 teiseks, ma arvan, laadida. Sa lihtsalt otsida sadamatööline Tööriistad, laadige see oma Mac, ja see osa on Muidugi kiirendada, sest kes tahab vaadata download signaali? Standard Mac paigaldus, ja siis oled näeme Jerome panna oma parooli. See on väga põnev. Ja siis ta installib terve hulk tööriistu. Ja eriti siis paigaldada käsurea. Ja siis võiks näha Jerome testida oma pilte. Ja siis põhineb käesoleva näed, et YouTube arvab, et Nico on huvitatud Star Wars, Jimmy Kimmel show, ja ma arvan, Ellen. Ma arvan, et viimane on klipp pärit Ellen show. Nii sadamatööline Toolbox kuigi tegemist rohkem kui lihtsalt sadamatööline Machine. Nii sadamatööline Machine on asi, mis aitab sa luua virtuaalse Masin oma Windows või Mac-- oma Windows kasti või Mac box-- ja aitab teil teha reservi, Aga see ka kaasas Swarm ja komponeerida, mille eesmärk on aidata teil teha suuri skaala kasutuselevõttu oma taotluse. Nii et kui soovite hallata klastrite sõlmed, klastrite konteinerid, koostamine ja Sülem on tee minna sellest. Ja muidugi see on kaasas Sadamatööline Mootor ja Kitematic, mis on selle desktop GUI. Tahaksin ka mainida sadamatööline Registry, mis ei kuulu tööriistakast, aga see on nii, et teil näidata oma registrite sadamatööline pilte nagu sadamatööline Hub, kuid võite ka lihtsalt kasutada Sadamatööline Hub on võimalus seda teha. Ja plot twist, näed selle pöörlema ​​konteinerisse. Ja see, kuidas me oleme jaotavad meie slaidid. Kogu see esitlus on tegelikult HTML slide teki. Ja see kulgeb konteiner, mille saad by-- Nicola kabar: Jah, nii see on töötab täiskohaga minu Max. Ja ma esitades ta. Ja sa lihtsalt ei sadamatööline pärast installite oma tööriistakasti. Sa võid teha laevalaadija perspektiivis ja saan seda ja kasuta slaidid. MANO MÄRGID: Ja ongi. Nii et me täname teid kõiki, et tulite. Ja me oleme õnnelikud, et vastata küsimustele. Ma peaks mainima, enne keegi jätab on T-särgid seal. Kahjuks keegi kes valvab Selle kohta LiveStream või video, kuid meil on sadamatööline T-särgid seal. Ja me teame, sadamatööline üliõpilased, ja minu kogemus näitab, professorid liiga, nagu tasuta riietus. Nii tänan teid kõiki sealt välja. Ja jälgida meid puperdama kui soovite, või ei ole. Mind ei huvita. Samuti järgivad sadamatööline puperdama. See on ka huvitav. Ja siis ongi kõik. Docker.com. Aitäh. [APPLAUSE]