>> [Muzikos grojimo]
DAVID Malan: Visos dešinę.
Labai ačiū, kad atvykote.
Tai CS50 seminaras dokininkas A technologija, kuri mes patys ir CS50
pradėjo naudoti tam tikrą laiką dabar.
Taigi, mano vardas yra Davidas Malan, aš mokyti Harvardo įvedimo
į Computer Science.
Dėl gana keletą metų, mes buvo nubaustas studentams
Downloadable kliento pusėje virtualios mašinos
dėl kurių jie savo problemas rinkinius.
Tai mes dabar perkėlėte į debesis aplinka
kad iš tikrųjų naudoja šią technologiją vadinamas Docker taip, kad visi CS50
studentai dabar turi savo pačių dokininkas konteineriai
kad jūs netrukus išgirsite apie.
>> Be to, ant CS50 serveryje pusė klasteris, daugelį metų
mes buvome naudojant Amazon Cloud serveryje.
Mes buvome veikia individą virtualios mašinos.
Tai taip pat, mes pradėjo pereiti prie šie dalykai vadinami dokininkas konteineriai
taip, kad visi mūsų paraiškų dabar puikiai izoliuotos viena nuo kitos.
Taigi tai ir dar daugiau, leiskite Pristatome mūsų draugų Nico ir mano,
nuo pačios dokininkas.
NICOLA kabar: Ačiū, Davidas.
Sveiki visi.
Mano vardas yra Nico ir tai yra Mano.
Mes Docker.
Mes ketiname kalbėti about-- suteikiant jums, vaikinai intro į dokininkas,
ir tikiuosi, į pabaigą Šio pokalbio galite suprasti,
kiek galite naudoti gydytoją oksalato savo programų kūrimas
ir diegimo.
>> Taigi, mes ketiname pradėti nuo nekilnojamojo Greita su kai pagrindinės informacijos.
Apibūdinkite, kas Docker yra visa informacija apie.
Kaip tai veikia?
Kaip tai architected?
Aš daryti keletą demo.
Ir "Mano bus aprašoma, kaip jūs galite naudoti dokininkas
ir duoti jums tam tikrų veiksmų kaip jūs galite pradėti.
>> Būtume labai dėkingi, jei jus vaikinai gali turėti išjungti jūsų klausimus link pabaigos.
Tokiu būdu, aš gali būti sprendžiant tuos klausimai visoje pristatymą.
Taigi mes palikti šiek tiek laiko į už klausimus pabaigoje.
>> Taigi tik nekilnojamojo greitai, kas turi iš tikrųjų kada nors dirbo dokininkas,
kaip grojo su juo?
Nuostabus.
Saunus.
Didysis.
Taigi, aš ruošiuosi pradėti su tam tikru istorijos.
Taigi atgal į 90-ųjų ir 2000-ųjų pradžioje, iš esmės
kaip kūrėjai, app kūrėjams, kai jie išėjo dislokuoti paraišką
ji buvo susieta su pliko metalo.
Tai buvo vienas serveris.
Tai buvo viena paraiška.
>> Tradiciškai pavyzdys Būtų kaip lempa kaminą,
kur jūs iš tikrųjų turėjo auklėti išteklių baseinas.
Procesoriaus, atminties, disko, tinklo, montavimas operacinė sistema viršuje, kad.
Jei tarnauja kažką jei jūs iš tikrųjų turintys interneto serverį,
jums reikia ką nors panašaus Apache tarnauti jam.
>> Jeigu jūsų paraiška turi duomenų bazę, Bekhend,
jums būtų įdiegti kažką kaip MySQL, ir pan.
Ir jei jums reikia paleisti laiką, PHPs ir PHP Python darbas buvo ten.
Ir taip mes iš tikrųjų turėjo imtis šių veiksmų, kad
gauti jūsų prašymą ir veikia.
>> Jei jums reikia daugiau apskaičiuokite galia, jums iš esmės turėjo skambinti savo Ops vaikinas
arba gal eiti ir krumpliniai iki naujos Aparatinė, prijunkite jį,
ir jūs turite pakartoti tie procesai vėl ir vėl.
Taigi, šis procesas buvo santykinai brangus.
Buvo tikrai labai lėtai.
>> Tai buvo neefektyvus.
Ir daug atvejų, jūsų aparatūros buvo plačiai.
Taigi, pabaigoje 90-ųjų ir 2000-ųjų pradžioje, kompiuterinės įrangos virtualizavimo atėjau visoje.
Ir, kaip matote čia į nuotrauka, iš esmės, ką jie padarė
yra išgaunama iš baseinas nemokama techninės įrangos išteklius
ir rūšis tarnavo tiems prie viršutinių sluoksnių,
šiuo atveju, svečio "operacinę sistemą.
>> Ir visa idėja virtualios mašinos atėjau visoje
ir kad tikrai padėjo Cloud Kompiuterija kaip mes jį žinome šiandien.
Taigi, ką tai reiškia jums yra galima paleisti kelis VM, kuris
reiškė kelis kaminai, išsėtinė paraiška dėl to paties fizinio mašina.
>> Tai tikrai padėjo su greitis paraiškos parengimą darbui.
Tikrai su išlaidomis.
Jūs neturite eiti ir praleisti energijos, laiko ir išteklių stovo
Daugiau serveriai gauti daugiau Compute.
Ir greitis realiai pareikšti Šie ištekliai iki yra daug greitesnis.
Didysis.
>> Taigi, mes išspręsti badu, tiesa?
Ne tikrai ne.
Taigi, Virtualizacija, kiek tai iš tikrųjų padėjo, spręsti problemą,
ji iš tikrųjų įvedė iššūkių daug.
Hypervizoriaus tikrai pristatė sudėtingumo daug,
tvarkymo šias bazines baseinas išteklius.
>> Tai sunkesnis ta prasme, kad prieš jums turėjo vieną operacinę sistemą, kuri
yra tarsi trijų, keturių koncertų diske.
Dabar, jei turite 10 mašinos ant vieno aparatūros
turite padauginti, kad iki mašinų skaičių.
Tai tikrai daugiau brangu tam tikra prasme vis dar
turi gauti licencijavimo už Virtualizacija technologija
jei ji nėra atviro kodo.
>> Bet tegul ne imtis visų kredito iš Virtualizacija.
Nes tai, kas atsitiko yra ten daug kaminai ir daug programinės įrangos
technologijos, kurios buvo įjungtas pagal tai, kaip greitai jūs galėjo gauti
ištekliais su Cloud bumas.
>> Taigi, šiandien vienas app arba paslauga gali būti naudojamas bet kuris iš šių Runtimes
ar duomenų bazių.
PHP, Python, MySQL, Redis, Papuošalą.
Taigi ten sudėtingumo daug apie tai skaičius šūsnis iš tikrųjų auklėti
vieną paslaugą.
Ir kartu su tuo, jums turėjo daug pagrindinės išteklių ar infrastruktūros
tipai išbandyti dislokuoti ir iš esmės imtis gamybos tie prašymai
kad kuriate.
>> Ypač, kaip jūsų komandos turi auginama dirba šiose apps,
ten yra daug sudėtingumas ir iššūkiai
kad buvo pareikštas siekiant užtikrinti, kad cycle-- esmės taikymas
vystymosi ciklas yra iš tikrųjų sėkminga.
Taigi, faktas, kad jūsų paraiška dirba lokaliai jūsų vietos VM
negarantuoja, kad jūsų kolega ketina tikėtis tokių pačių rezultatų.
>> Ir kai operacijos komanda dalyvauja priimant tai, ką turite
ir diegti ją gaminti masto, taip pat nėra jokių garantijų,
kad iš tikrųjų nutiks.
Taigi, tai palieka mus su tikrai big-- iš klaustukais daug,
iššūkių daug tiesų susidūrė panašiai atgal į dienų.
Ir tai mums priminė apie laivybos pramonė.
>> Taigi laivybos pramonei turėjo prekių daug,
kaip matote kairėje pusėje.
Ir dešinėje pusėje, ten yra, daug iš esmės,
būdų, kaip laivas tas prekes.
Ir kas atsitinka kaip pora žmonės susirinko ir pasakė,
mums reikia standartizuoti, kaip mes iš tikrųjų laivas tas prekes.
Ir bumas, jūs turite intermodalinio laivybos konteinerių.
>> Taigi jie susitarė dėl labiausiai bendri dydžiai konteinerio.
Kaip elgtis su jais.
Kas tiksliai metodas jums reikia įkelti juos ir iškrauti juos.
Ir todėl, kad tikrai padėjo laivybos pramonei.
Dabar daugiau nei 90% dėmesio vežami visame pasaulyje naudoja tuos konteinerius.
Ir tai tikrai mažėja išlaidos, taip pat
žala atsirado transportuojant.
>> Taigi mes tą patį modelį ir mes taikomi dviejų app kūrimo programinės įrangos
architektūra, ta prasme, kad Konteinerių
paėmė Virtualizacija vienu lygiu.
Taigi vietoj daro, kad tuo aparatūros lygį,
ji tapo daugiau operacinę sistemos lygmeniu Virtualizacija.
>> Ir mes tai darome, kad teikiant kiekvieną taikymas savo lengvas,
izoliuoti, Runnable ir nešiojamas, svarbiausia,
būdas iš tikrųjų paketas viskas, kad reikia paleisti.
Visur ji gali būti paleisti.
Taigi, nesvarbu, ar jūs naudojate jį vietos dev aplinka, savo gamybos
aplinka, jūsų sustojimo ar bandymai.
Nesvarbu, koks pagrindinės infrastruktūra yra,
jums turėjo funkcionalią darbinę programą.
>> Taigi tai, ką iš esmės konteineriai padaryti, kad šią problemą.
Jie spręsti jį pakuočių ją tokiu būdu,
, kad ji gali užtikrinti, kad jis yra įdiegta sėkmingai, nesvarbu, kur jis gyvena.
Taigi, jei jūs ketinate kaip Bobas tai dar gerai.
Jei esate supainioti su tuo, ką aš sakau, Aš ruošiuosi būti parengti, kad.
>> Taigi, kaip pati Docker tinka šioje nuotraukoje?
Taigi Docker yra atvira platforma lengvai, pabrėžti lengvai,
statyti laivą, paleisti, lengvas nešiojamas savarankiškai
pakankamai app konteineriai visur.
Taigi, jei jūs imtis ko nors iš šio aptarimas, atlikite šiuos.
>> Jei turite savo app veikia vietoje, ir jūs sukūrė ją
naudodami dokininkas platforma, tikėtis kad ji būtų sėkmingai įdiegta.
Nesvarbu, kokia yra pagrindinis infrastruktūra.
Taigi, jei turite Docker Pakuotę ir jis veikia, tada
tol, kol ten Docker Variklis Kita side--
Jei Jūsų operacijos infrastruktūros naudojant bet kokį Cloud, ar tai
yra AWS arba Google ar Microsoft ", arba bet kuris iš viešųjų debesys,
ar jūsų Cloud ar jūsų atvira kamino Debesis, ar jūsų vietinio aplinka.
>> Jei turite variklis veikia, tai reiškia,
tai bus sėkmingai dislokuoti ten.
Ji ketina būti paleistas lygiai tas pats elgesys
kaip jums architected kad ji būtų.
Taigi, jei mes žiūrime at-- aš ruošiuosi eiti per ką iš tikrųjų
yra pagrindinių komponentų dokininkas.
>> Taigi Variklis yra ties dokininkas šerdį.
Tai yra smegenų.
Tai užprogramuoja pastatas, laivyba, ir diegti ir valdyti
patys konteineriai.
Aš kasti į tai, ką daro Variklis daugiau informacijos per sekundę.
Iš esmės, nes daktaras buvo pastatytas aplink kliento serverio architektūrą,
taip, kad būtų sąveikauti su Variklis jums reikia šiek tiek kliento rūšiuoti.
>> Vaizdai yra šablonai kurie konteineriai pastatyti iš.
Taigi vaizdai yra iš esmės tik statinius failus.
Šablonai ir konteineriai yra iš tikrųjų, kas
veikia runtime, kad tarnauja savo paraišką
ar darai kažką su duomenimis.
>> Registras skirtas kaip problema kaip jūs iš tikrųjų platinti vaizdų.
Taigi, jei jums reikia pasidalinti vaizdą kad dirbote prie savo kolegai
arba OPS komanda, jums naudoti jį naudojant registro.
Galite atsisiųsti atvirą šaltinį versija apie tai, kad Docker dirbo
ir atidaryti šaltinis.
>> Arba galite naudoti dokininkas pagalbos, kuri yra Debesis versija
stumti ir traukti vaizdus ten.
Tai didžiulis dalykas.
Nes ten yra didžiulis ekosistema aplink dokininkas ir tai
tikrai labai panaudojant stebulę.
>> Taigi apibendrinant čia, tai kaip Minimalistinis Docker eiga klientas.
Jūs bendrauti su šeimininke, į šiuo atveju tai tas dokininkas tarnybas.
Tai tas pats, kaip sistema.
Jūs darote komandas kaip Dokininkas statyti, traukti, paleisti.
Ir pati sistema eina ir daro tuos dalykus.
>> Taigi, arba jis sąveikauja su Registro traukti tuos vaizdus
Ir vaizdų sluoksniai.
Nesvarbu, ar norite įdiegti, paleisti konteineriai, žudyti juos, mesti juos,
Papuošalą.
Taigi tai apibendrina darbo eigą visų šių komponentų.
>> Taigi, jei jūs imtis visų komponentas savaime.
Taigi Variklis, tai tik demonas.
Tai bus rūšies žaisti remti tai Linux, nes ji
reikalauja tam tikrų Linux branduolio funkcijas.
Tačiau "Windows" darbo darai tą patį.
Tai turėtų būti remiamos Windows Server 2016.
>> Taigi, dar kartą, su pareigos variklis yra, arba turi, kurti vaizdus.
Ištraukite vaizdus iš dokininkas Stebulės arba savo registrą.
Jei baigsite su tuos vaizdus ar jums sukurti naujus vaizdus,
Jums gali stumti tuos Atgal į registrą platinti juos kitiems komandos.
>> Ir bando būti lokaliai ir valdyti konteineriai gyvavimo ciklą
vietoje.
Jis yra pastatytas aplink HTTP REST API.
Taigi techniškai galite parašyti savo klientui
tol, kol ji naudoja HTTP, kuris yra labai standartinis mechanizmas kalbėti sistema
ir daug kitų paslaugų.
Ir jūs galite pamatyti iš čia, kad nepriklausomai
KĄ infrastruktūros yra, kaip ilgai, kaip jūs can-- visi
jums reikia yra operacinė sistema, "Linux", specialiai.
>> Ir jūs galite įdiegti dokininkas sistema viršuje, kad ir jį veikia
ir jis užprogramuoja, iš esmės, visa tai app, vienas, du,
ir trys yra tikrieji konteineriai.
Taigi, kad variklis.
Kaip jau minėjau anksčiau, nes Jums reikia bendrauti su sistema,
ten klientas.
>> Bet iš tikrųjų, kai jūs įdiegiate Dokininkas, IT laivai su juo.
Taigi jis bus įdiegta, todėl vienas dvejetainis.
Ir jūs galite padaryti vietos skambučiai Jūsų Docker sistema.
Arba nuotolinio skambučiai į nuotolinio variklius.
Ji naudoja HTTP, kaip Minėjau anksčiau.
Yra GUI klientas vadinamas Kitematic Docker.
Ir ten yra tikrai kitų žmonių daug
kurie stato daug GUI, kad iš esmės įgyvendinti
kai HTTP ragina kalbėti sistema.
>> Vos keletas pavyzdžių komandas.
Jei dokininkas versiją, ji būtų parodyti jums kliento versiją, taip pat
serveris versija.
Jei dokininkas info jis bus papasakoti jums visą informaciją,
apie tai, kiek konteineriai veikia ar sukurta, kiek vaizdų turite,
ir taip toliau, ir taip toliau.
>> Čia aš turiu, kad į šalia paskutinis langelis, turiu daktaras paleisti.
Štai kaip aš iš tikrųjų sukurti konteinerį.
Ir aš suteikti jai echo Hello World ir miegoti antra ir Papuošalą.
Ir jūs galite pamatyti rezultatas. Taigi tai vyksta.
Ir panašūs į Linux ps, jūs galite pamatyti visi procesai, ir šiuo atveju,
visos važiavimo konteineriai.
Tai vienas nuorodą atgal konteineris Aš ką tik sukūrėte.
>> Taigi, tai yra labai svarbu, nes, kaip, ji gali būti šiek tiek klaidina.
Taigi vaizdai yra tik skaityti failų rinkinį, tiesa?
Jie yra, kas mūsų konteineris yra pagrįstas.
Bet jie tik read-only.
Taigi jūs pradėsite su pagrindiniu įvaizdžio.
Ji linkusi imituoti OS patinka, todėl Ubuntu, Centos, Papuošalą bazė vaizdą.
Ir tada jūs pradėti statyti ant kad tam tikri sluoksniai, kad bus atsigriebti
Jūsų pabaiga vaizdą, galutinis rezultatas čia.
>> Ir kiekvienas iš šių sluoksnių turėtų turėti patronuojanti vaizdas
kad nuorodos, kai jis iš tikrųjų nori sukurti.
Jie yra nekintantis, ta prasme, kad, nes jie tik skaityti,
jūs negalite iš tikrųjų keisti jų.
Jūs galite naudoti juos kurti konteineris iš paveikslėlio, kuris
kreipsis visi vėlesni reikalingus paveikslėlius po juo.
>> Jūs galite atlikti pakeitimus į kitą sluoksnį,
tai perrašyti sluoksnis aš kalbėti apie per sekundę.
Bet kiekviena iš šių sluoksnių niekada pasikeitė.
Iš esmės vaizdai naudoti kažką vadinamas Sąjunga failų sistemą, UFS.
Ir yra skirtingi saugojimo backends, kurie naudoja šią technologiją.
Ir ką tai reiškia, kad yra tai, kad jį suburia skirtingas failų sistemas
kad jie atrodo kaip vienas.
>> Taigi jūs iš tikrųjų galite iš prašymas perspektyva,
jūs turite tikslą, kuris rodo viršaus visi skirtingi failų sistema reikalinga
už to prašymo paleisti.
Bet jie iš tikrųjų, apie tai, jie iš tikrųjų atskirose vietose
ir yra naudojami pagal kitų talpyklų, taip pat.
>> Taigi, kaip jūs galite pamatyti, kad čia jei mes pradėti su demono įvaizdį
kaip bazinę atvaizdo, ir tada mes einame ir pridėti [? Emacs?]
ir tada tai jau kita sluoksnis.
Ir tada pridėkite Apache.
Štai dar vienas sluoksnis.
Ir tada mes praleisti konteineris iš to.
Kiekvienas iš šių vaizdų, kiekviena iš šių sluoksnių,
skiriasi ir gali būti pakartotinai panaudoti kitose talpose.
>> Jei pažvelgti į pačių konteinerių, jie kažkaip lyg VM-kaip,
bet ne gydyti tuo pačiu metu.
Taigi, jie neturi, Techniniu požiūriu, pilna operacinė sistema po jais.
Jie naudoja vieną branduolį priimančiosios operacinę sistemą.
Ir jie pastatyti viršuje, kad.
Jie imituoja, kaip jie atrodo.
Jie imituoti savo šakninę failų sistema operacinės sistemos.
Bet jie iš tikrųjų yra ne atkartoti.
>> Taigi, vietoj to, kad nekintamų sluoksnius, paskutinis sluoksnis, kuris yra konteineris
pati, tai skaitymo-rašymo sluoksnis.
Tai taip pat veikia procesus savo paraišką.
Ir jis priklauso nuo pagrindinių sluoksnių.
Kiekvienas konteineris sukurta iš paveikslėlio.
Ir kad vaizdas gali būti vienas sluoksnis arba daugiasluoksnės vaizdą.
>> Ir aš noriu atkreipti dėmesį į čia kad Docker labai naudoja,
arba remiantis Kopijuoti-On-rašymo mechanizmą.
Taigi, kad, iš tikrųjų, jei nesate padaryti pakeitimus į indą,
jis nesiruošia imtis papildomų erdvę.
Taigi, kad iš esmės, kaip jūs apibendrinti Kopijuoti-On-Write.
Ji ketina tikrai paspartinti įkrovos laikas konteinerį.
Nes jei nesate priėmimo pakeitimai konteinerio,
tai naudojant tai, kas jau yra.
>> Taigi, kaip ji iš tikrųjų veikia.
Dalis Tai kaip, dabar, ją naudoja bent dvi pagrindines branduolį
funkcijos.
Ir tai yra iš esmės ką sukurta, kad izoliacijos lygį
patiems konteinerius.
Šios funkcijos yra vardų ir cgroups.
Taigi vardų yra būdas sukurti atskirus išteklius,
taip, kad per konteinerio, galite matyti tik Jūs tam tikrus išteklius.
Tokie kaip tinklų sąsaja arba tam tikroms vartotojų Plauktiņš.
>> Ir tie matomi tik tik prieinama taros viduje.
Cgroup iš kitos pusės ribų kaip jūs naudojate šiuos išteklius.
Procesoriaus, atminties ir disko.
Kai gali eiti, aš reiškia tie, kurie iš tikrųjų
funkcijos, kurios buvo sukurtos by-- jie priklauso "Linux" branduolys.
Taigi jie nebuvo naujo atrasti iki arba atkuria dokininkas.
Dokininkas juos naudoja.
>> Kas daktaras iš tiesų čia yra iš tikrųjų ji
dirigavo kūrimas vardų kiekvieno konteinerio
ir sukurti cgroups, kad tai juokingai lengva sukurti konteineriai
naudojant šias funkcijas.
Žinoma, kaip aš aprašyta anksčiau, Union Failo sistemos Kopijuoti ir-On-Parašykite tikrai
padėti greitį ir disko panaudojimas talpose.
>> Ir kai jūs gaunate savo rankas aplink dokininkas,
jūs ketinate pamatyti, kaip greitai ji yra iš tikrųjų sukasi konteineriai ir ašarą
juos.
Taigi, jei galite paklausti, kaip galima jūs iš tikrųjų sukurti vaizdus?
Statome vaizdus pagal kūrimo procesą konteineriai ir padaryti pakeitimus, pakeičiant
juos ir padaro juos į vis vaizdas.
>> Taigi tai yra vištiena ir kiaušinių nuoroda čia
nes visi konteineriai ateis iš vaizdų ir paveikslų ateiti
nuo padarytus konteinerius, didžiąja dalimi.
Yra trys galimybės sukurti vaizdus.
Aš ruošiuosi aprašyti pirmasis ir paskutinis.
Jūs galite rankiniu būdu eiti ir paleisti pakuotę
ir padaryti šiuos pakeitimus, kaip darytumėte bet VM
arba bet kokia operacine sistema, tokia kaip įdiegti naujų binaries,
pridėti failų sistemas ir Papuošalą.
>> Ir tada jūs išeiti, kaip jūs galite pamatyti ten.
Aš išeinant mano konteinerį.
Ir tada aš darau Docker įsipareigoti.
Ir aš padaręs, kad.
Jūs galite pamatyti, kad skaičius čia yra tik UUID, arba pirmą 12
bitai UUID.
Arba baitai UUID.
Ir tada aš pavadino jį mano įvaizdis.
Taigi dabar Docker rūpinasi įrašymo viską aš tai padariau
ir kurti naujas vaizdas remiantis tai.
>> Nesiruošiu kalbėti apie tar archyvą, bet yra būdu jūs galite gauti vieną,
sukurti vieną, arba padaryti vieną sluoksnis vaizdas naudojant archyvus.
Ką aš ruošiuosi kalbėti apie tai ir kas dažniausiai naudojama šiandien
yra Dockerfile.
Kuris yra techniškai pirmas žingsnis automatizuotas pats dokininkas.
Taigi Dockerfiles yra dalykų, kad jūs vyksta matyti iš GitHub atpirkimo daug
šiandien.
Tai iš esmės tik Tekstinis failas aprašant
tiksliai, kaip kurti įvaizdį.
>> Ir už kiekvieną eilutę, ji iš tikrųjų sukuria konteineris, vykdo tą liniją,
įsipareigoja, kad pakuotę į "A naujas įvaizdis, ir jūs, iš esmės,
naudoti jį visiems vėlesnių operacijų kol gausite į paskutinį atvaizdą.
Kuris iš esmės yra tikslą baigti čia, pabaigos.
Ir po to, kai exec-- po tavęs parašyti savo Dockerfile, kuris
yra vien tik tekstą, jums padaryti dokininkas kurti ir atvaizdo pavadinimą.
>> Ir jūs atkreipti ne, kad tai kur Dockerfile yra.
Ir jūs galite tikėtis pamatyti savo atvaizdą kaip vaizdas, kad jūs turite vietoje.
Taigi tai tik vizualinis pavyzdys, kas vyksta.
Jūs pradedate su pagrindiniu įvaizdžio.
Jūs paleisti, kad į konteinerį, kad nekeičia pačią pagrindo vaizdą.
Bet vietoj to, sukuria perrašyti sluoksnį ant jo
kur jūs padarote pakeitimus, kuriame jums įsipareigoja
ir jūs pakartokite procesą, kol jūs gaunate į savo galutinę įvaizdį.
>> Ir tokiu būdu, kiekvienas kitas statyti procesas gali naudoti tuos pačius sluoksnius
ir same-- esmės Dokininkas išsaugo tuos sluoksnius.
Taigi, kad jei aš darau lygiai tas pats procesas, tačiau vietoj to, diegiant PHP,
Aš įdiegti Python.
Ji ketina naudoti Apache ir Ubuntu.
Taigi tokiu būdu jūs naudojant savo diską.
Tai panaudojant talpyklą ir laisvų vaizdai ten.
>> Galutinis kūrinys registro, kuris kaip jums platinti savo nuotraukas.
Ir, kaip jau minėjau anksčiau, ten Debesis versija tai,
kuris yra Docker centru.
Galite eiti ir tyrinėti iš, iš esmės daug
tai viešoji SAS produktas, Jūs vis dar galite turėti asmeninius vaizdus,
bet ten viešųjų vaizdų daug.
Tai tikrai neribotas, galite stumti neribotą viešųjų vaizdus ten.
Ir tai, kaip galite bendradarbiauti su savo komanda.
>> Jūs galite tiesiog nurodyti juos galite atpirkimo ir jie gali jį atsisiųsti arba savo įvaizdį
ir jie gali ją atsisiųsti.
Taigi pakankamai su aptarimas.
Kas nori pamatyti demo nekilnojamojo greitai?
Gerai.
Taigi čia aš.
Ca vaikinai matyti mano ekrano?
Gerai.
>> Taigi turiu Docker veikia čia, todėl aš galite patikrinti it's-- Tai versija
iš dokininkas kad manimi veikia.
Ar tai dokininkas info.
Patikrinkite visą informaciją apie tai, kiek vaizdai jie turi, ir taip toliau, ir taip toliau.
Dokininkas PS nieko veikia.
Sudurtiniai tie.
>> Taigi pirmas dalykas, kurį noriu padaryti, tai rodo, jums, kaip galite lengvai paleisti konteinerį.
Taigi apie grožis Gydytojas paleisti, jei jis iš tikrųjų
neranda vaizdą vietoje, pagal nutylėjimą kalbama Doctor Hub
ir bando rasti jį ten ir parsisiųsti už jus.
Taigi ji apima dokininkas traukti komandą, natūraliai.
>> Taigi, jei aš padaryti Docker paleisti, hello-pasaulį.
Taigi, iš pradžių ji vyksta bandyti rasti.
Priešingu atveju, kaip matote čia ji negalėjo rasti jį vietoje.
Dabar jis tiesiog iškedentas du sluoksnius kad padarė tą nuotrauką ir išbėgau.
Hello-pasaulis yra tiesiog iš esmės išėjimai, ką tu padarei.
Taigi tai yra lengviausias, vienas paprasčiausių pavyzdžių.
Taigi iš tikrųjų aš tiesiog pritrūko ir nutraukiama konteineris nekilnojamojo greitai.
>> Jei aš noriu run-- ir beje jei Noriu laiko, kad tik tokiu būdu jūs žinote,
tai, kaip ilgai užtrunka iš tikrųjų sukasi ir yra ją.
Mes matavimo ją milisekundėmis.
Taigi, galite pamatyti, kiek tai gali tikrai padės jums ne tik testavimo,
bet net diegimas.
Štai greitas pastaba apie tai.
Kitas dalykas, aš ketina padaryti, tai iš tikrųjų
paleisti vaizdą aš jau paruošiau.
Taigi dokininkas paleisti.
-d yra tik vėliava pasakyti jį paleisti fone.
Ir -p priskiria tam tikrus uostus.
Kadangi pagal nutylėjimą, konteineriai yra izoliuoti,
todėl jūs turite nurodyti tiksliai kaip jis gali prieiti prie jų.
Ir šiuo atveju, aš sakau dokininkas į žemėlapį atsitiktinį prievadą priimančiosios
į nurodytą uostą pati talpykla.
Ir tai iš esmės kur image-- Tikimės, kad tai yra teisingas.
>> Taigi ji lygiagrečiai parsisiųsti kiekvienas Nuo šių sluoksnių, kaip jūs galite pamatyti čia.
Tie, yra sluoksniai priėmimo galutinis vaizdas, kad aš pastatė.
Ji ketina imtis per sekundę.
Ir voila.
>> Taigi dabar, jei aš padaryti dokininkas ps, turėčiau pamatyti kažką, kad veikia.
Turėčiau pamatyti ID, vaizdas kad šis jis buvo pagrįstas išjungti,
ir komanda, kuris buvo vykdomas.
Ir kaip jį pasiekti yra Iš esmės jūs einate į tą uostą.
Taigi, aš ruošiuosi eiti to-- tai yra Bėgu jį AWS.
Aš ruošiuosi eiti į 32769.
Oi.
Ir čia mes einame.
>> Taigi iš tikrųjų tai yra tik interneto paslauga, kuri rodo
kuris konteineris tai įteikus iš.
Taigi jūs galite pamatyti, kad jis iš konteinerių a9f.
Ir čia tai yra Pavadinimas konteinerį.
Taigi vaikinai galite pamatyti, kaip greitai ji buvo iš tikrųjų ne tik traukti, bet taip pat
dislokuoti šią pakuotę.
>> Dabar kitas žingsnis yra pažvelgti į Dockerfiles
ir kaip mes galime iš tikrųjų statyti naujus vaizdus.
Aš tik ketina eiti gauti klonas A paragauti Dockerfile remiantis anksčiau
diagrama, viena Apache ir PHP.
Tikimės, kad aš atsimenu mano repo.
>> Taigi turiu saugyklą dabar.
Ir jūs ketinate pamatyti tai daug iš tikrųjų.
Aš ne įdiegti medį.
>> Taigi, iš esmės jūs ketinate pamatyti, kaip Jūsų kodo dokumentacija aplink
ji, ir tada Dockerfile ant kaip iš tikrųjų paketas ją.
Taigi, tai tik pavyzdys PHP kad atkartoja sveikinasi CS50.
>> Taigi, jei aš noriu jį paleisti, Aš tai padaryti dokininkas statyti.
Turiu ją kurti pirmas.
Aš ruošiuosi ją įvardinti demo_cs50.
Ir jums reikia žymą jai taip pat.
Taigi leiskite jį vadiname V1 dot.
Taigi, kaip aprašiau anksčiau, ką darau šiandien
yra aš sakau dokininkas eiti naudojimą that-- tikrųjų, atsiprašau, mano blogas.
Mes ne pažvelgti ne pati Dockerfile.
Taigi vienintelis dalykų čia yra index.php taip pat readme faile
ir Dockerfile.
>> Taigi, jei jūs pažvelgti Dockerfile, todėl
labai panašios į tai, kas Aš aprašyta anksčiau.
Tai tiesiog krūva žingsnių, kad Docker vykdo
kuriant ir griauti konteineriai ir [? skaičiuoti?] juos į atvaizdą.
>> Ir iš esmės jūs galite see-- [nesigirdi] ją here--
tačiau tai yra iš vietos atpirkimo.
Ji ketina eiti ir paimti index.php.
Taigi tai vienintelis kodo, kad iš tikrųjų yra dalis jūsų paraišką.
Visa tai yra iš esmės Operacinės sistemos Santechninė armatūra,
gauti teisingus paketus ir Apache ir PHP ir Papuošalą.
Bet iš tikrųjų tai yra atsižvelgiant index.php ir padarius jį į konteinerį,
į atvaizdą.
>> Taigi, jei jūs einate į priekį ir paleisti komanda atlikdami šiuos veiksmus,
tai going-- tikrųjų, tai gali užtrukti šiek tiek.
Tikimės, kad tai nėra pernelyg ilgai.
Taigi jūs galite pamatyti veiksmus.
Ir raginu jus eiti namo šiandien ir jį išbandyti.
Ir Mano aprašyti kaip tiksliai jums tai padaryti.
Bet tai tikrai malonu matyti tiksliai kas vyksta užkulisiuose.
Bet tai juokingai lengva kurti Vaizdai ir dislokuoti juos naudojant dokininkas.
>> Tai užima šiek tiek ilgiau nei tikėjausi.
>> Pažiūrėkime, kas atsitinka, kai you-- atvėsti.
Taigi, kaip matote, kiekvienas iš šių etapų atstovauti linijas Dockerfile.
Ir tai rodo, kad čia jai sėkmingai pastatė šį įvaizdį.
>> Taigi, jei aš tai padaryti dokininkas vaizdus, ​​aš ruošiuosi pamatyti visas nuotraukas, kad aš vietoje.
Ir vienas iš jų yra vadinamas mano Nick ir atvaizdo pavadinimas,
ir tegus representing-- daugiausia tai versija žymė.
>> Taigi dabar, jei noriu paleisti tai, aš dokininkas paleisti.
Ir aš tik noriu padaryti-d -P. Ar v1.
Taigi matau, kad dabar turiu du konteineriai veikia, vienas, kad aš tiesiog
sukurta ir labas Dokininkas vienas, kad aš paskutinis.
>> Ir jūs galite pamatyti čia, kad jo priskirti tai kitą prievadą.
Taigi, jei aš einu į tą patį IP, bet priskirti jį kitoks port-- tikiuosi aš ne.
Taigi, dabar tai yra taikymas kad aš tiesiog naudojami.
>> Jei aš noriu padaryti pakeitimus, aš gali greitai redaguoti kodą
ir atlikite šiuos veiksmus.
Darom sveikinasi Harvardo.
Taigi, dabar, kas vyksta atsitikti taip, kad aš
ketina jį pažymėti su skiriasi version-- oh,
tai ne guy-- jį pažymėti su kitu versija.
Ir jūs ketinate see-- Ar jums vaikinai tikėtis
ji imtis pat laiko statyti ją antrą kartą, ar ne?
Visos teisės ir kas nors žino kodėl?
Kalbėk.
>> Auditorija: [nesigirdi]
>> NICOLA kabar: Tai iš esmės mes pakeisti tik vieną iš vėlesnių etapų.
Ir todėl jis ketina naudoti talpyklą ir naudoti kiekviena iš šių sluoksnių.
Ir tai tikrai kai kurie iš žudikas bruožai dokininkas
kaip tai iš tikrųjų naudoja ir panaudoja perėmimo
diskas už tą patį Tikslus informacijos dalys.
>> Taigi, jei mes darome tą patį, jis paėmė tik pora sekundžių.
Jei norime redeploy-- todėl dabar Aš turėtų turėti tris konteinerius.
Bet tai vienas yra įteiktas the-- septyni vieną.
Taigi dabar tai trečiasis konteinerių.
Kiekvienas suprantame, ką aš ką tik padariau čia?
>> Taigi dabar, jei norite pasidalinti konteinerių nekilnojamojo greitai su draugais,
galite tiesiog padaryti dokininkas stumti Pavadinimas konteinerį, tikiuosi.
Taigi dabar jis ketina stumti jį to-- aš nepasirašė čia.
Atsiprašau dėl to.
Bet aš nesiruošiu išspręsti šią dabar.
Bet iš esmės, kad viena komanda yra tik einame stumti jį.
Ir jūs ketinate būti suteikta galimybė pamatyti, jei jūs einate į Docker Hub
Ir jūs prisijungti, esate bus galima jį pamatyti.
Ir tada jūs galite tiesiog priminti kas vyksta
naudoti, kad vaizdas eiti ir ištraukite jį.
Ir jie gali jį naudoti.
>> Su tuo, tikiuosi, I rūšies parodė
kaip lengvai ji yra dirbti su dokininkas.
Ir aš tik ketina duoti jį atgal į mano.
Ir jis ketina priimti jį iš čia.
>> MANO ŽENKLAI: Visos teisės Ačiū, Ačiū Nico.
Na ir kas?
Taigi vienas iš dalykų, aš norėjo padaryti, tai sudėti
kodėl tai yra important-- kodėl Docker ir kodėl
konteineriai yra toks svarbi nauja plėtra,
naujas būdas iš tikrųjų daro programinę įrangą.
>> Ir prieš man daryti, aš ruošiuosi tik pristatyti keletą statistiką.
Nesiruošiu skaityti visiems.
Bet tai rodo jums apie tai, kaip daug populiarus tai bendruomenėje.
Pagrindinės dokininkas technologijos yra atviro kodo.
Štai Docker Variklis, kurti, Spiečius, kitų daiktų krūva
yra visi atviro kodo.
Ir mes turime, ką aš pasakyti, 1300 bendraautorius.
Jūs matote dabar, jei jums pažvelgti į skaičius darbo vietų, paskutinį kartą
mes pažvelgė, ji buvo apie 43,000 darbas angų specialiai paminėti
Būti susipažinusiam su dokininkas.
Šimtai milijonų vaizdai buvo paimtas iš Docker Hub.
Ir gerai, daug didelių statistika.
>> Tiems, kurie yra įdomu, tai iš pradžių buvo parašyta Python
ir tada perrašyti į Eik.
Ir tai tik buvo atidaryti source-- tai tik
buvo išleistas apie 2 ir 1/2 metų o tai reiškia, kad 2 ir 1/2 metų,
mes matėme didžiulį kiekį augimo ir svarbą
tai bendruomenėje.
Ir todėl aš noriu kalbėti šiek tiek apie tai, kodėl.
>> Taigi tik pakartoti kai Nico pagrindiniai punktai, Docker yra greitas.
Tai nešiojamas.
Tai yra pakartojama.
Ir tai nustato standartinę aplinką.
>> Ir what-- tai mano Crappy likviduoti monolitų slide-- ką
jis padeda žmonėms daryti, kuris Programinės įrangos pramonės aikštelė
pradėjo daryti į 2000-ųjų pradžioje, juda
iš jų monolitinis Vienviečiai prašymai
kur kiekvienas priklausomybė turėjo būti patikrintas prieš visą app turėjo
turi būti naudojami, kuris gali reikšti svetainę
tik gavau dislokuoti vieną kartą kas tris mėnesius, ar daugiau,
su daug daugiau paslaugų orientuota architektūra
arba komponentizuota skirtingo tipo Taikymo architektūra.
Ir taip leidžiant naudoti šiuos rūšies architektūros
kad pasinaudoti Dokininkas paleisti šių trijų
Pagrindiniai plėtros sritis, kurios yra plėtra rašyti savo tikrąjį kodą,
išbandyti savo kodą ir jį diegti.
>> Tad kodėl tai svarbu?
Jei esate a-- leiskite man duoti pavyzdį.
Jei esate svetainės Prietaisas kūrėjas, jūs
kuriant svetainę, kad yra pagrįsta dėl duomenų, kad Dovydas gaminami čia.
Atsiprašome Davidas, aš jums skambina iš.
Jei nori dislokuoti visa tai, jūs
turi laukti pagal tradicinis monolitinis programinės įrangos kūrimas
aplinka, jūs turite laukti tol, kol jis buvo padaryta su duomenų baze
Prieš jūs iš tiesų gali padaryti bet į jūsų svetainę pokyčiai.
Jums tektų perskirstyti Visa programa tai padaryti.
>> Ir kas Docker padeda jums padaryti, tai kiekvienas asmuo darbas skirtingų komponentų
ir atnaujinti juos, kaip jie keliauja, tiesiog padaryti įsitikinti, kad sąsajos likti ta pati.
Taigi, kas tai padarė yra tai pasikeitė žmonių
nuo daro tai masinis monolitinis architected programinė įranga,
dislokuoti kiekvieną mėnesį nuolat integracija ir nuolatinis tobulėjimas
aplinka.
>> Dabar tai nėra unikalus dokininkas, bet Docker daro tai daug lengviau,
o tai reiškia, jūs iš esmės nuolat diegti.
Mes kalbame, kad įmonėms, kurios yra diegti viešąsias programas, su kuriomis susiduria
tūkstančius kartų per dieną, nes jie mato vertę tik todėl
nedideli pokyčiai, ir tol, nes jis eina per bandymus,
leisti, kad jis eiti į gamybą.
Nico visada buvo man sakai anksčiau, kad daugelyje aplinkų,
standartinis gyvavimo ciklas konteineris yra matuojamas sekundėmis,
kadangi virtualios mašinos gali būti išmatuotas mėnesius.
>> Norėjau imtis šiek tiek pasukite čia, nes aš
ne švietimo įstaigoje.
Norėjau duoti kaip pavyzdį tai veikia švietimo tyrimų
situacija.
Taigi ten organizacija vadinami bioboxes.
Bioboxes daro DNR analizė mokslininkams.
>> Dabar, ką jie rado, buvo, kad kai researcher--, ir tai yra ne
kurio nors konkretaus gedimo researcher-- bet kai
tyrėjas dislokuota algoritmas analizuoti,
Tam tikru būdu, DNR mėginys, jie būtų parašyti programinę įrangą,
skelbia, kad gal GitHub ar kažkur kitur,
ir tada jos buvo padaryta.
>> Na problema buvo ta, kad nebūtinai atkuriamas.
Kadangi tam, kad suprasti programinės įrangos,
jie būtų įsteigtas Tikslus kūrimo aplinka
kad mokslo naudojamas, paprastai jų nešiojamas, arba serveris, arba duomenų
centras, kuris jiems buvo naudoti.
Ir todėl, kad buvo labai sunku atgaminti mokslinių tyrimų rezultatus, kai
analizuojant DNR pavyzdžius ieškoti ne tokius dalykus kaip incidence--
palyginti sergamumą širdies priepuolių remiantis tam tikrų genų nebūdamas,
Pavyzdžiui, arba vėžio riziką, arba bet kurį iš kitų rūšių dalykus.
>> Taigi, ką jie padarė, o ne buvo jie pradėjo kurti konteinerius.
Ir jūs galite eiti į bioboxes.org, tai puiki organizacija.
Ir tai, ką jie padaryti, tai jie gamina konteineriai remiantis tyrimais.
Ir tada, kai kas nors siunčia jų mėginyje, jie gali paleisti jį.
Ir jis turi visą aplinką reikia paleisti, kad algoritmas
ir gaminti rezultatus.
Ir jie rasti, kad jie daug labiau tikėtina, ir daug
greičiau galėtų grįžti rezultatus su žmonėmis.
>> Ir iš tiesų, ką žmonės daro veikia savo analizę DNR,
siunčiant, kad į bioboxes ir tada biobox tik mano duomenis,
paleidžia jį nuo veislės Skirtingų konteineriai
pamatyti skirtingus rezultatus remiantis įvairių mokslinių tyrimų.
Taigi tai labai galingas būdas, kuriuo mokslininkai
gali padaryti vieną egzempliorių, kuris leidžia kiti žmonės pabandyti ir daugintis
rezultatai.
>> Taigi, kaip jums pradėti?
Mes esame gerai palaiko Linux.
Taigi, jei norite įdiegti nieko Linux,
jūs naudojate savo standartą paketų tvarkyklė įdiegti.
Jei jūs naudojate Debian, tai apt gauti.
Centos yra Yum.
Fedora "Red Hat yra rpm-- nepamenu.
Bet kokiu atveju, tai visi ten.
Mes palaikome daug įvairių Linux distribucijų.
Galite patikrinti tuos iš.
>> Mes taip pat turime galimybes, kad jums gali paleisti ant Mac ar Windows.
Dabar Nico minėta, kad ji buvo palaikoma tik "Linux".
Tai tiesa, nes juo reikia Linux branduolį.
Tačiau, jūs galite paleisti virtualios mašinos.
Ir ką Docker Įrankiai daro, kurią galite atsisiųsti,
ji suteikia jums, kad virtualios mašinos.
>> Taigi tik greitas 48 antra, manau, atsisiųsti.
Jūs tiesiog ieškoti dokininkas Įrankiai, jį atsisiųsti į "Mac",
ir ši dalis yra Žinoma pagreitino nes kas
nori žiūrėti atsisiuntimo signalą?
Standartinė Mac įrengimas, ir tada jūs
ketiname pamatyti Jerome įdėti savo slaptažodį.
Tai labai įdomu.
Ir tada jis įdiegia visa krūva įrankių.
Ir ypač tai bus įdiegti komandų eilutę.
Ir tada jūs galite pamatyti Jerome išbandyti savo nuotraukas.
>> Ir tada Atsižvelgiant į tai, Galite matyti, kad "YouTube"
mano, kad Nico domina Žvaigždžių karai, Jimmy Kimmel Rodyti,
ir aš manau, Ellen.
Manau, kad paskutinis yra klipas iš Ellen šou.
>> Taigi Docker Įrankiai nors ateina su daugiau nei tik Docker mašina.
Taigi Docker mašina yra dalykas, kuris padeda
jums sukurti virtualų mašina ant jūsų Windows
arba Mac-- Windows langelį arba jūsų Mac box-- ir padeda jums padaryti atidėjimų,
>> Tačiau ji taip pat ateina su Spiečius ir kurti,
kurios yra skirtos padėti jums padaryti didelių masto dislokavimo savo paraišką.
Taigi, jei norite valdyti klasteriai mazgų,
klasteriai konteinerių, kurti ir Spiečius yra būdas eiti apie tai.
>> Ir, žinoma, ji ateina su Dokininkas Variklis ir Kitematic,
kuris yra stalinis GUI.
Taip pat norėčiau paminėti dokininkas registro, kuri nėra įtraukta į Toolbox
bet tai yra būdas jums paleisti savo registrų dokininkas Images kaip dokininkas
Stebulės, bet jūs taip pat galite naudoti Dokininkas Stebulės kaip būdas tai padaryti.
>> Ir sklypas Tvist, jūs matote ji veikia į talpyklą.
Ir tai, kaip mes platinti mūsų skaidres.
Visas šis pristatymas yra iš tikrųjų HTML skaidrių denio.
Ir tai jau veikia konteineris, kurį galite gauti by--
>> NICOLA kabar: Taip, taip, tai veikia visą laiką mano Maks.
Ir aš pateikti iš jo.
Ir jūs tiesiog padaryti dokininkas po įdiegsite savo priemonių rinkinį.
Jūs galite tiesiog padaryti dokininkas paleisti ir jį gauti, ir naudoti skaidres.
>> MANO ŽENKLAI: Ir tai viskas.
Taigi mes dėkojame jums visiems, kad atvykote.
Ir mes mielai atsakysime į klausimus.
Norėčiau paminėti, prieš kam nors palieka yra Marškinėliai ten.
Atsiprašome visiems, kurie žiūri tai ant Livestream ar vaizdo,
bet mes turime dokininkas marškinėlius ten.
Ir mes žinome, dokininkas studentų, ir mano patirtis rodo,
profesoriai taip pat, kaip laisvos aprangos.
>> Taigi ačiū visiems už išeina.
Ir sekite mus Twitter jei norite, ar ne.
Man nerūpi.
Taip pat sekite dokininkas Twitter.
Štai taip pat įdomu.
Ir tada viskas.
Docker.com.
Ačiū.
>> [Plojimai]