>> [Predvaja glasba]
DAVID Malan: V redu.
Najlepša hvala za prihod.
To je CS50 seminar o DOCKER, a tehnologija, ki sebe in CS50 smo
so začeli uporabljati že nekaj časa.
Torej, moje ime je David Malan, I naučiti Harvard UVOD
za računalništvo in informatiko.
Že kar nekaj let, smo bili kar študentom
prenosljiva na strani odjemalca virtualne stroje
na kateri delajo svoje probleme sklopov.
Da smo zdaj prešli v oblaku okolje
da dejansko uporablja to tehnologijo imenuje DOCKER, kot da vse CS50
študentje imajo zdaj svoje Lastna DOCKER zabojniki
da boste kmalu slišali vse okoli.
>> Poleg tega so na CS50 strežniku stran grozd, za več let
smo s pomočjo Amazon Cloud strežnik.
Smo bili teče posameznika virtualne stroje.
Tudi to smo začeli prehod na te stvari, imenovane DOCKER zabojniki
tako, da so vsi naši aplikacij zdaj povsem ločeno druga od druge.
Torej za to in še več, dovolite mi, da uvesti naše prijatelje, Nico in Mano,
od DOCKER samega.
NICOLA kabar: Hvala, David.
Pozdravljeni vsi skupaj.
Moje ime je Nico in to je Mano.
Mi smo iz DOCKER.
Bomo govorili about-- vam fantje za uvod, da DOCKER,
in upam, da se proti koncu o tem predavanju boste lahko spoznali
koliko lahko uporabite zdravnika oksalat svoj razvoj aplikacij
in uvajanje.
>> Torej, bomo začeli realno hitro z nekaj osnovnimi informacijami.
Opišite, kaj DOCKER je vse okoli.
Kako deluje?
Kako je architected?
Bom počel nekaj demo posnetkov.
In Mano se bo opisuje, kako lahko uporabljate DOCKER
in vam daje posebne ukrepe kako lahko začeli.
>> Jaz bi bil zelo vesel, če lahko vi držite off za vaša vprašanja do konca.
Na ta način sem lahko obravnavajo tiste Vprašanja v celotni predstavitvi.
Torej bomo pustite nekaj časa proti koncu za vprašanja.
>> Torej samo resnično hitro, ki ima dejansko kdaj delali na DOCKER,
kot je igral z njim?
Awesome.
Cool.
Great.
Torej, jaz bom za začetek z nekaj zgodovine.
Torej, nazaj v 90-ih in zgodnji 2000s, v bistvu
kot spletni razvijalci, razvijalci app, ko sta šla, da se uporabi aplikacije
je bila vezana na golo kovino.
To je bil en strežnik.
To je bila ena vloga.
>> Tradicionalno zgled bi bilo tako kot svetilka dimnika,
kjer ste dejansko moral bruhati bazen virov.
CPU, pomnilnik, disk, mreža, nameščanje operacijski sistem na vrhu, da.
Če ste služijo kaj, če ste dejansko ima spletni strežnik,
boste potrebovali nekaj podobnega Apache, da služi.
>> Če je vaša vloga potrebuje baze podatkov, backhand,
morate najprej namestiti nekaj kot MySQL, in tako naprej.
In če boste potrebovali čas delovanja, PHPs in PHP Python delo so bili tam.
In tako smo dejansko imeli na sprejmejo tiste ukrepe, da bi
da dobite prijavnico in teče.
>> Če potrebujete več izračunati moč vas, v bistvu moral poklicati svojega Ops fant
ali gal, da gredo in rack up novega kos strojne opreme, ga priključite,
in boste morali ponoviti tiste procesi vedno znova.
Torej, to je bil postopek razmeroma draga.
Je bila vsekakor zelo počasi.
>> To je bila neučinkovita.
In v veliko primerih si strojna oprema je premalo.
Torej, v poznih 90-ih in zgodnjih 2000, virtualizacijo strojne prišel čez.
In kot lahko vidite tukaj, v sliko, v bistvu, kaj so naredili
abstrahiramo na bazen sprostili vire strojne opreme
in vrsta služil tistim, Na zgornje plasti,
V tem primeru je gost operacijski sistem.
>> In celotna ideja virtualne stroje naletela
in da je resnično pomagal Cloud računalništvo, kot jo poznamo danes.
Torej, kaj to pomeni je, da Lahko teči več VMS, ki
pomenilo več nizov, multipla prijava na istem fizičnem stroju.
>> To zagotovo pomagala z Hitrost uvajanja aplikacij.
Definitivno z odhodki.
Nimate iti in preživite energije, čas in vire za rack
več strežnikov priti do več compute.
In hitrost dejansko prinaša tiste vire up je veliko hitrejši.
Great.
>> Torej smo rešili svetovno lakoto, kajne?
Ne, ni res.
Torej, virtualizacija toliko, kot je dejansko pomagal, reševanje problema,
je dejansko uvedla veliko izzivov.
Hipervizor definitivno uvedla veliko kompleksnost,
ravnanje, ki so podlaga bazen virov.
>> To je težji v smislu, da pred ste imeli le en operacijski sistem, ki
je kot treh, štirih nastopov na disku.
Zdaj, če imate 10 stroji na enem strojne
moraš pomnožiti, da s številom strojev.
To je vsekakor bolj drago v smislu še vedno
da bi dobili licenc za tehnologija za virtualizacijo
če to ni open source.
>> Ampak, naj ne sprejmejo vse kredit od virtualizacije.
Ker, kaj se je zgodilo, da je Veliko nizov in veliko opreme
tehnologije, ki so bile omogočene s tem, kako hitro ste bili sposobni, da bi dobili
do virov z oblakom razcveta.
>> Torej, danes ena aplikacija ali storitev lahko se uporabi katero koli od naslednjih runtimes
ali podatkovnih baz.
PHP, Python, MySQL, redis, malenkosti.
Torej, obstaja veliko zapletenost o tem število nizov dejansko bruhati
ena storitev.
In skupaj s tem, kar je bilo veliko osnovnih sredstev ali infrastruktura
Vrste za testiranje uvajanje in v bistvu sprejeti za proizvodnjo tiste vloge
da ste v razvoju.
>> Še posebej, ker imajo tvoji ekipi goji delajo na teh aplikacijah,
tam je veliko kompleksnost in izzivi
ki je bila vložena za zagotovitev cycle-- bistvu aplikacija
razvojni cikel, je dejansko uspešna.
Torej, dejstvo, da je vaša prijava je lokalno delo na vašem lokalnem VM
ne zagotavlja, da vaš kolega se dogaja, da pričakujejo enake rezultate.
>> In ko je ekipa operacije vključeni pri sprejemanju, kaj imate
in uvajanje v proizvodnji lestvice, prav tako ni zagotovila,
da, ki je dejansko dogaja, da se zgodi.
Torej, to nam ostane res big-- veliko vprašaji,
Veliko izzivov, dejansko soočajo podobno nazaj v dneh.
In to nas je spomnil industrija ladijski promet.
>> Torej, pomorski industriji imel veliko blaga,
kot lahko vidite na levi strani.
In na desni strani, tam je veliko, v bistvu,
načinov, da ladja to blago.
In kaj se zgodi, kot par ljudje prišli skupaj in rekel:
moramo poenotiti, kako smo dejansko ladja to blago.
In bum, imate intermodalni ladijski kontejner.
>> Tako so se dogovorili o najbolj skupni velikosti za posodo.
Kako ravnati z njimi.
Kaj natančna metoda morate da jih naložite in raztovoriti.
In zato, da resnično pomagali pomorsko industrijo.
Zdaj je več kot 90% poudarek prevažajo globalno uporabljate te posode.
In to definitivno zmanjšuje stroški, kot tudi
odškodnina zaradi ladijskega prometa.
>> Torej vzamemo enak model in mi uporablja za razvoj programske opreme dva app
arhitektura v smislu da kontejnerizacija
vzel virtualizacijo za eno stopnjo.
Torej, namesto da delaš, da na ravni strojne opreme,
je postalo bolj za poslovanje virtualizacijo na ravni sistema.
>> In mi, ki jih zagotavlja vsaka uporaba v svojo lahek,
izolirani, loven, in prenosni, kar je najpomembneje,
način dejansko paket vse, kar potrebuje za zagon.
Kjerkoli je mogoče zagnati.
Torej, glede na to, če ste tekmovanje v teku na lokalni dev okolje, tvoja produkcija
okolje, vaš uprizoritev ali testiranje.
Ni važno, kaj je podlaga infrastruktura je tam,
ste imeli funkcionalno delovno aplikacijo.
>> Torej, to je točno, kaj v bistvu Posode storiti, da bi ta problem.
Obravnavajo jo s njegovo pakiranje na tak način
da lahko zagotovi, da je to razporejeno uspešno ne glede na to, kje živi.
Torej, če ste tekoč podobno, Bob je še vedno v redu.
Če ste zamenjali s tem, kar sem rekel, Bom se pripravi na to.
>> Torej, kako DOCKER sama prilega na tej sliki?
Torej DOCKER je odprta platforma enostavno, poudarjajo enostavno,
zgraditi ladjo, teči, lahki prenosni samozaposlene
dovolj app posode kjerkoli.
Torej, če ste vzeli nekaj od tega pogovor, vas prosimo, da naslednje.
>> Če imate app teče lokalno in jo razvili
pri uporabi platformo DOCKER, pričakujejo se uspešno uporabljajo.
Ni važno, kaj je osnovna infrastruktura.
Torej, če imate DOCKER posodo in da deluje, potem
Dokler obstaja DOCKER motor na drugi side--
če je vaše delovanje infrastrukture se z uporabo katere koli Cloud, ali je to
je AWS, ali Google ali Microsoft, ali katerokoli javnih oblakih,
ali svoj Cloud, ali vaš odprt dimnik Cloud, ali lokalnem okolju.
>> Če imate motor tek, da je sredstvo
to se dogaja, da se Uspešno tam uporabljajo.
To se dogaja, da teče točno isto vedenje
kot jo architected biti.
Torej, če gledamo at-- grem iti skozi to, kar dejansko
so v glavnih sestavin DOCKER.
>> Torej Motor je v jedru DOCKER.
To je možgani-jev.
To orchestrates stavbe, ladijski promet, in uvajanje in upravljanje
posode same.
Bom izkopal v to, kar počne Engine V več podrobnosti v sekundi.
V bistvu, ker je bila zgrajena Doctor okoli odjemalec strežnik arhitekture na,
tako, da se pomeša s Motor morate neko stranko.
>> Slike so predloge v ki kontejnerji so zgrajene iz.
Torej, slike so v bistvu le statične datoteke.
Predloge in posode je pravzaprav tisto, kar je
teče v času izvajanja, ki služi vašo prijavo
ali delaš nekaj s podatki.
>> Register je naslovljena kot problem kako ste dejansko distribucijo slik.
Torej, če želite deliti sliko da ste delali na vaš kolega
ali k OPS ekipo, jo uporabite s pomočjo registra.
Lahko prenesete odprtokodni različica je, da DOCKER delal na
in odprite izvirajo.
>> Ali lahko uporabite DOCKER pomoč, ki je različica Cloud
za potiskanje in vlečenje slike tam.
To je velika stvar.
Ker obstaja velika ekosistem okoli DOCKER in je
res zelo uporaben pesto.
>> Torej tukaj povzamemo, to je, kako Minimalističen DOCKER workflow odjemalec.
Interakcijo z gostiteljem, v V tem primeru je na demone DOCKER.
To je isto, kot podjetja.
Počnete ukazi, kot so Lučki delavec graditi, potegnite, tek.
In motor sam gre in počne te stvari.
>> Torej, ali je povezana z Registry vleči tiste slike
in plasti slike.
Ali, če želite, da se uporabi, teči posode, jih ubijejo, jih vrgel na tla,
malenkosti.
Torej, to povzema potek dela vseh teh komponent.
>> Torej, če ste vzeli vsak komponenta sama po sebi.
Torej motorja, to je samo demon.
To bo nekako igrati za podporo je na Linuxu, saj ne
zahtevajo nekatere lastnosti jedra Linuxa.
Vendar Windows deluje na počne isto stvar.
To naj bi bila podprta Windows Server 2016.
>> Torej, še enkrat, odgovornosti z Motor je, ali so, graditi slik.
Potegnite slike iz DOCKER Hub ali svoj register.
Če ste končali s temi slikami ali ustvarite nove slike,
lahko push tiste, nazaj v registru da jih razdeli drugim ekipam.
>> In poskuša, da jo vsebujejo lokalno in upravljanje posode življenjski cikel
lokalno.
Zgrajen je okoli HTTP REST API.
Torej tehnično si lahko napišite svojo stranko
dokler jih uporablja HTTP, ki je zelo standardni mehanizem, da se pogovorite s Engine
in veliko drugih storitev.
In si lahko ogledate od tukaj, da ne glede
o tem, kaj infrastrukture je, tako dolgo, kot ste can-- vse
kar potrebujete je operacijski sistem, Linux posebej.
>> In lahko namestite DOCKER Motor na vrhu, ki naj jo izvaja
in orchestrates, v bistvu, vse to app ena, dva,
in trije so dejanski posode.
Tako da je motor.
Kot sem že prej omenil, ker boste morali za interakcijo z motorjem,
tam je stranka.
>> Ampak dejansko, ko namestite DOCKER, it ladje z njim.
Torej dobi nameščen, tako da je ena binarna.
In lahko storite lokalne klice na vaš DOCKER Engine.
Ali oddaljenih klicev na oddaljene motorjev.
To pa uporabite HTTP, kot Sem že prej omenil.
Tam je GUI odjemalca imenuje Kitematic od DOCKER.
In tam so definitivno veliko drugih ljudi
ki gradijo veliko GUI, ki v bistvu izvajajo
nekateri HTTP zahteva, da se pogovorite s Engine.
>> Le nekaj vzorčnih ukazov.
Če boste to storili DOCKER različico, bi bilo vam pokažem različico odjemalca, kot tudi
različica strežnika.
Če boste to storili DOCKER info da bo vam povem vse informacije,
o tem, koliko so posode teče ali ustvarjena, koliko slik imaš,
in tako naprej in tako naprej.
>> Tukaj sem, v bližini zadnje polje, imam Doctor teči.
Torej, to je, kako sem v resnici ustvarjanje posodo.
In sem ga dajete odmeva Hello World in spati za drugo in malenkosti.
In si lahko ogledate rezultat. Torej je v teku.
In podobno kot Linux ps, lahko vidite vsi procesi, in v tem primeru,
vsi tekoči posode so.
Ta je sklicevanjem nazaj posoda Pravkar sem ustvaril.
>> Torej, to je zelo pomembno, saj podobno, je lahko malo zmedeno.
Torej slike so samo za branje zbirka datotek, kajne?
So kaj je naša posoda osnovi.
Ampak oni so le-samo za branje.
Torej, da začnete z osnovno sliko.
To kaže, da posnemajo-OS podobno, tako Ubuntu, CentOS, malenkosti baza slik.
In potem začneš graditi na vrh da so nekateri sloji, ki bo pripravljen
tvoj konec slike, končni rezultat tu.
>> In vsak od teh slojev mora imeti matično sliko
da se sklicuje, ko jo dejansko želi ustvariti.
So nespremenljiva v smislu da, ker oni so samo za branje,
ne moreš dejansko spremenite njih.
Lahko jih uporabite za ustvarjanje posoda iz slike, ki je
bo poklical vse poznejše zahtevanih slik pod njim.
>> Lahko naredite spremembe na drugo plast,
to je reportaža sloj bom govoriti v sekundi.
Toda vsak od teh slojev se nikoli ne spremenijo.
V bistvu podobe uporabite nekaj imenuje Union File System, UFS.
In tam so drugačni shranjevanje hrbtenice, ki uporabljajo to tehnologijo.
In kaj to pomeni, da je to združuje različne datotečne sisteme
da bi bili videti kot eno.
>> Torej si lahko dejansko od vidika vloga,
imate vrh namenom, ki prikazuje vsi različni datotečni sistem potrebna
za to vlogo za zagon.
Ampak oni so pravzaprav, o tem, oni so dejansko v ločenih prostorih
in se jih uporablja druge posode, kot tudi.
>> Torej, kot lahko vidite tukaj, da če začnemo z daemon slike
kot osnovno sliko in gremo v in dodajte [? emacs?]
in potem je to še en sloj.
In nato dodajte Apache.
To je še en sloj.
In potem smo preživeli posoda iz tega.
Vsaka od teh slik, vsak od teh slojev,
je različna in je lahko ponovno uporabi drugih zabojnikov.
>> Če pogledaš na posodah samih, oni so nekako kot VM-like,
vendar ne obravnavajo enako časa.
Torej, nimajo, tehnično je Celotno operacijski sistem pod njimi.
Jih uporabljajo enotno jedro od gostiteljskega operacijskega sistema.
In gradijo na vrhu, da.
Posnemajo v tem, kako so videti.
Posnemajo njihov koreninski datoteko Sistem operacijskega sistema.
Vendar dejansko ne posnemajo.
>> Torej, namesto da nespremenljive plasti, zadnji sloj, ki je posoda
sam, da je branje in pisanje plast.
Ki vodi tudi postopke vaše vloge.
In je odvisna od osnovnih slojev.
Vsaka posoda ustvarjen iz slike.
In da je slika lahko en sam sloj ali večslojna sliko.
>> In želim, da sem seznanjen da DOCKER močno uporablja,
ali temelji na Kopiraj-On-Write mehanizma.
Tako da, pravzaprav, če niste spreminjanjem vsebnika,
to ne bo trajalo dodaten prostor.
Torej, to je v bistvu, kako vas povzeti kopiranja ob pisanju.
To bo zagotovo pospešiti čas čevelj za posodo.
Ker če ne bi spremembe v posodi
to je uporabo, kaj je že tam.
>> Torej, kako to dejansko deluje.
Del nje je všeč, prav zdaj, ga uporablja vsaj dve ključni jedro
Lastnosti.
In to je v bistvu, kaj ustvaril to raven izolacije
za vsebnike samih.
Te lastnosti so Imenski prostori in cgroups.
Torej Imenski prostori so način, da ustvariti izolirane virov,
tako da znotraj samega vsebnika, le si lahko ogledate nekatere vire.
Kot je omrežni vmesnik ali nekateri uporabniki ali malenkosti.
>> In to so vidne samo in le dostopna v kontejnerju.
Cgroup na drugih mejnih stranskih kako uporabiti te vire.
CPU, pomnilnik in disk.
Kdaj lahko šel, sem si pomeni tiste dejansko
lastnosti, ki so bile razvite by-- oni del jedra Linux.
Torej niso bili na novo izumili jih ali poustvarjajo DOCKER.
Lučki delavec jih uporablja.
>> Kaj Doctor res tukaj je dejansko to
Orchestrated ustvarjanje Imenski prostori za vsako posodo
in ustvarjanje cgroups, tako da je smešno preprosto ustvariti zabojnikov
uporabo te funkcije.
Seveda, kot sem opisal zgoraj, Union Datotečne sisteme in Kopiraj-On-Napiši resnično
pomoč hitrost in disk izkoriščenost zabojnikov.
>> In ko boste dobili vaš Roke okrog DOCKER,
boste videli, kako hitro je, da dejansko spin up zabojnike in solzo
jim dol.
Torej, če boste morda vprašati, kako lahko ste dejansko gradijo slike?
Zgradimo slike s procesom oblikovanja posode in vnaša spremembe, spreminjanje
njih, in jih stori v postaja sliko.
>> Tako da je piščanec in Referenčna jajce tukaj,
ker so vse posode ne pridejo iz slike in slike pridejo
od storjene posodah, večinoma.
Obstajajo tri možnosti za ustvarjanje slike.
Bom opisati prvi in ​​zadnji.
Lahko ročno pojdi in zaženite posodo
in da te spremembe, kot da bi vam na vsakem VM
ali operacijski sistem, kot kot nameščanje nove binarne datoteke,
dodajanje datotečne sisteme in malenkosti.
>> In potem zaprete, saj lahko vidite tam gor.
Jaz sem izhodu mojo posodo.
In potem delam DOCKER zavezati.
In jaz sem storila to.
Vidite lahko, da je število tukaj je le UUID, ali prvi 12
bitov UUID.
Ali bajtov UUID.
In potem sem ga kliče moja podoba.
Torej, zdaj DOCKER skrbi snemanje vse, kar sem storil
in ustvarjanje novega podoba, ki temelji na tem.
>> Ne bom govoril o tarball, vendar obstaja način, lahko dobite eno,
ustvariti enoten, ali pa en sam plast slika uporabo tarballs.
Kaj bom govoril o tem in kaj se večinoma uporabljajo danes,
je Dockerfile.
Ki je tehnično prva korak avtomatizirajo DOCKER sama.
Torej Dockerfiles so stvari, ki ste bomo videli v veliko GitHub repo
danes.
To je v bistvu samo besedilna datoteka, ki opisuje
točno kako zgraditi sliko.
>> In za vsako vrstico, dejansko ustvarja posoda, izvede to vrstico,
zavezuje, da posode v novo podobo, in vi, v bistvu,
uporabljati za vse kasnejše operacije dokler ne prideš do zadnje slike.
Ki je v bistvu Končni cilj tukaj, konec.
In ko boste exec-- po vas napišite vaše Dockerfile, ki
je zgolj v besedilu, morate narediti DOCKER graditi in ime slike.
>> In ti kažejo na to je, da kjer je Dockerfile na.
In lahko pričakujem, da vidim svojo podobo kot sliko, ki jo imajo na lokalni ravni.
Torej, to je samo vizualno Primer, kaj se dogaja.
Začnete z osnovno sliko.
Zaženete, da v posodo, ki ne spremeni samo osnovno sliko.
Toda namesto da ustvarja znova sloj na vrhu je
kjer ste, da spremembe, v katerih ste se zavežejo
in ponovite postopek, dokler boste dobili na vaš končno podobo.
>> In s tem, vsak drugi graditi Postopek lahko uporabljajo iste plasti
in nam je isti v bistvu Lučki delavec shranjuje te plasti.
Tako da, če delam enako točna proces, temveč postavitve PHP,
Jaz namestitvijo Python.
To se dogaja, da se uporablja Apache in Ubuntu.
Torej, na ta način, da ste z uporabo diska.
To je z uporabo predpomnilnika in so na voljo slike tam.
>> Končni kos je Registry, ki je, kako si razdeliti vaše slike.
In, kot sem že prej omenil, tam je različica Cloud nje,
ki je DOCKER Hub.
Lahko greš in raziskati veliko, v bistvu
to je javni SAS izdelek, ki lahko še vedno zasebne slike,
ampak tam je veliko javnih slik.
To je pravzaprav neomejene, lahko potisnite neomejeno javne slike tam.
In to je, kako lahko sodelovati s svojo ekipo.
>> Lahko jih samo točko na vas repo in jih lahko, ali vaše slike naložite
in jih lahko prenesete.
Torej dovolj z govori.
Kdo želi videti nekaj demo posnetkov resnično hitro?
V redu.
Torej, tukaj imam.
Ca vidva videti moj zaslon?
V redu.
>> Torej imam DOCKER teče tukaj, tako da sem lahko preverite it's-- To je različica
od DOCKER, ki teče.
Lahko storite DOCKER info.
Preverite vse podatke o tem, koliko slike imajo, in tako naprej in tako naprej.
Lučki delavec PS, ni nič teka.
Sestavljena tiste.
>> Torej prva stvar, želim storiti, je predstava si, kako lahko enostavno zaženete posodo.
Torej lepota približno Zdravnik teči, če je to dejansko
ne najde sliko na lokalni ravni, Privzeto je v pogovoru z doktorjem Hub
in poskuša, da ga tam našli In to prenosi za vas.
Tako, da vključuje DOCKER potegnite ukaz, seveda.
>> Torej, če naredim DOCKER teči, zdravo-svet.
Torej, najprej se dogaja da bi poskušali najti to.
Drugače, kot lahko vidite tukaj, da ga ne bi lokalno našli.
Zdaj je samo potegnil dve plasti da je takšno sliko in sem tekel.
Hello-svet je le v bistvu izhodi, kaj ste storili.
Torej je to najlažje, ena najlažji primeri.
Torej, dejansko sem tekel in preneha posoda resnično hitro.
>> Če želim run-- in mimogrede, če Rad bi čas, da se samo da veš,
to je, kako dolgo traja, da dejansko spin gor in ga vsebujejo.
Mi smo jo merjenje v milisekundah.
Tako lahko vidite, koliko je to mogoče dejansko pomagal, ne samo pri testiranju,
ampak tudi uvajanje.
Tako, da je hiter obvestilo o tem.
Naslednja stvar, ki sem tekoč storiti, je dejansko
teči sliko sem že pripravil.
Torej DOCKER tek.
-d je samo zastava povedati je, da delujejo v ozadju.
In -p dodeljuje določene pristanišč.
Ker ga privzeto Posode so izolirani,
tako da boste morali natančno določiti kako je mogoče dostopati do njih.
In v tem primeru, sem povedal DOCKER zemljevid naključno pristanišče na gostitelju
na določeno pristanišče znotraj samega vsebnika.
In to je v bistvu, če image-- upajmo, da je to prava izbira.
>> Torej, to počne vzporednih prenosov vsak od teh plasti, kot lahko vidite tukaj.
To so plasti izdelavo konec slika, ki sem zgradil.
To bo trajalo sekundo.
In voila.
>> Zdaj, če sem naredil DOCKER PS, da bi moral videli nekaj, ki se izvaja.
Moral bi videti ID, slike da je bilo to, da temelji off,
in ukaz, ki je bil usmrčen.
In kako lahko dostopate je v bistvu greš na ta vrata.
Torej bom šel to-- to se mi je tek na AWS.
Bom šel na 32769.
Ups.
In gremo.
>> Torej, to je pravzaprav samo spletna storitev, ki prikazuje
ki zabojnik pri čemer je bil od.
Tako lahko vidite, da je je iz zabojnikov a9f.
In tu je to ime posode.
Torej, lahko vi videli, kako hitro se je dejansko ne samo vleči ampak tudi
razporedi embalažo.
>> Zdaj naslednji korak je, da poglej v Dockerfiles
in kako smo lahko dejansko graditi nove slike.
Jaz sem samo šel dobil klon, A vzorca Dockerfile temelji na prej
diagram, tisti, Apache in PHP.
Upajmo, da se spomnim moje repo.
>> Torej imam odlagališče zdaj.
In boste videli To je veliko pravzaprav.
Nisem namestiti drevo.
>> Torej v bistvu boste videli, kako tvoja izvorna koda dokumentacija okoli
je, nato pa Dockerfile o kako dejansko paket.
Torej, to je samo vzorec PHP da odmeva Zdravo CS50.
>> Torej, če želim, da bi sistem deloval, Jaz bom naredil DOCKER graditi.
Moram ga najprej zgraditi.
Jaz grem, da ga imenujejo demo_cs50.
In morate oznako za njo preveč.
Torej, recimo, da V1 dot.
Torej, kot sem opisal zgoraj, kaj sem danes delal
se bom DOCKER povedal, da gredo uporabe that-- pravzaprav, oprostite, moja slaba.
Nismo si oglejte Na Dockerfile samega.
Torej samo stvari v tukaj index.php kot tudi datoteke Berime
in Dockerfile.
>> Torej, če ste vzeli pogled na Dockerfile, tako da je
zelo podobni, kar I je opisano zgoraj.
To je samo kup Koraki, ki DOCKER izvršuje
z ustvarjanjem in podirati posode in [? Računam?] jih v sliko.
>> In v bistvu lahko see-- [neslišno] ga here--
ampak to je iz lokalnega repo.
To se dogaja, da gredo in zgrabi index.php.
Tako da je edina izvorna koda, ki so dejansko del vaše vloge.
Vse to so v bistvu vodovod operacijski sistem,
pravimi pakete in Apache in PHP, in malenkosti.
Ampak to je pravzaprav ob index.php in ga izvrši v posodo,
v sliko.
>> Torej, če greš naprej in zaženite Ukaz, ki ga na naslednji način,
to je going-- dejansko, To lahko traja nekaj.
Upajmo, da ne bo predolgo.
Tako si lahko ogledate korake.
In vas pozivam, da gredo nazaj domov danes in ga preizkusite.
In Mano bo opisal kako točno to narediš.
Ampak to je res super videti natanko kaj se dogaja v zakulisju.
Ampak to je smešno enostavno graditi slike in jih razporedi uporabo DOCKER.
>> To je ob malo dlje, kot sem pričakoval.
>> Poglejmo, kaj se zgodi, ko you-- ohladi.
Torej, kot lahko vidite, je vsaka izmed teh korakov predstavljajo črte v Dockerfile.
In prav tu kaže, da je to uspešno zgradili to sliko.
>> Torej, če naredim DOCKER slik, bom na vidite vse slike, ki jih imam na lokalni ravni.
In eden od njih se imenuje moj uporabniško ime in ime slike,
in tag representing-- predvsem je to različica tag.
>> Torej, zdaj, če želim teči to sem naredil DOCKER tek.
In želim narediti -d-P. Ali V1.
Tako sem lahko videl, da imam dva posode teče, tistega, ki sem
ustvaril in zdravo Lučki delavec tisti, ki sem zadnji.
>> In si lahko ogledate tukaj, da to je drugačna port dodeljena.
Torej, če grem na isti IP, ampak ga dodelite drugačna port-- upajmo, da nisem.
Torej, zdaj je ta vloga da sem napotena.
>> Če želim narediti spremembe, I lahko hitro uredite izvorno kodo
in storite naslednje.
Naredimo Zdravo Harvard.
Torej, zdaj, kaj se dogaja da se zgodi, je, da sem
dogaja, da ga označite z drugačna version-- oh,
Ne guy-- to jo označite z drugačno različico.
In ti boš see-- storite vi pričakujete
da sprejme enako količino časa da ji izgradnjo drugega časa, ali ne?
Vse je v redu, in kdo ve zakaj?
Spregovori.
>> OBČINSTVO: [neslišno]
>> NICOLA kabar: To je v bistvu smo spremeniti le eno od kasnejših korakih.
In zato se dogaja, da uporabite predpomnilnik in uporabo vsakega od teh plasti.
In to je resnično nekaj izmed morilec značilnosti DOCKER
je, kako to dejansko uporablja in ponovne prevzem
vaš disk za isto natančne informaciji.
>> Torej, če naredimo enako stvar, je trajalo le nekaj sekund.
Če želimo redeploy-- zdaj Jaz bi moral imeti tri zabojnike.
Vendar pa je to ena, ki je vročena the-- sedem enega.
Torej, zdaj je tretji zabojnik.
Vsi razumeli kaj se je pravkar naredila sem tukaj?
>> Torej, zdaj, če želite deliti to Posoda resnično hitro s prijatelji,
lahko pač DOCKER potisnite ime posode, upajmo.
Torej, zdaj pa se dogaja, da ga potisnite to-- Ne bom podpisal tukaj.
Oprosti zaradi tega.
Ampak ne bom odpraviti to zdaj.
Ampak v bistvu, da en ukaz je le, da bo do push.
In boš lahko da vidim, če greste na DOCKER Hub
In se prijavite, ste bo uspelo, da ga vidim.
In potem si lahko samo točka kdor se dogaja
uporabiti to sliko, da gredo in ga povlecite.
In jih lahko uporabite.
>> S tem, upajmo, Nekako sem dokazala,
kako enostavno je delo z DOCKER.
In jaz sem le, da bo daj nazaj Mano.
In on bo prevzel od tu.
>> MANO ZNAMKE: Vredu hvala, hvala Nico.
Pa kaj?
Torej ena od stvari, ki sem želel storiti, je dana skupaj
zakaj je to important-- zakaj DOCKER in zakaj
Posode so taka pomembno novost,
nov način dejansko delaš opremo.
>> In preden sem naredil, bom na samo uvesti nekaj statistike.
Jaz ne bom prebral vse te.
Ampak to vam pokaže veliko o tem, kako priljubljena je to v skupnosti.
Jedro DOCKER tehnologije so open source.
Torej, to je DOCKER Engine, Sestavi, Swarm, kup drugih stvari
je vse open source.
In imamo, kaj sem pravijo, 1.300 sodelavcev.
Vidiš zdaj, če pogledamo Število prostih delovnih mest, v zadnjem času
smo pogledali, je bilo okoli 43.000 delovnih mest odprtine posebej omeniti
poznavanje DOCKER.
Stotine milijonov podob imajo so prenesli iz DOCKER Hub.
In, no, veliko več velikih statistike.
>> Za tiste, ki so radovedni, ga je bila prvotno napisana v Python
in nato predelajo v Go.
In to je bilo samo odpreti source-- je le
bila sproščena za približno 2 in 1/2 let, kar pomeni, da je v 2 in 1/2 leta,
smo videli ogromno količino rasti in pomen
od tega v skupnosti.
In zato želim govoriti malo o tem, zakaj.
>> Torej samo ponoviti nekatere Ključne točke Nico je, DOCKER je hitra.
Je prenosni.
To je ponovljiv.
In to določa standardno okolje.
>> In what-- to je moja crappy Stamp Out monolitov slide-- kaj
to je pomagati ljudje, ki Veliko industriji programske opreme
začeli delati v zgodnji 2000s, se premika
iz teh monolitno enotni zahtevki
kjer je vsak odvisnost moral biti preskusiti, preden je imel celoten app
razviti, ki lahko pomeni spletno stran
dobil razporedijo le enkrat vsake tri mesece ali več,
z veliko več storitev usmerjene arhitekture
ali Komponentizirana drugačen tip aplikacijske arhitekture.
In tako omogoča ti vrste arhitektur
da izkoristijo Lučki delavec teči v teh treh
Glavna področja razvoja, ki je razvoj pisanjem dejansko kodo,
testiranje kodo, in ga napoti.
>> Torej, zakaj je to pomembno?
Če ste a-- Naj navedem primer.
Če ste na spletni strani razvijalec naprava, ste
razvoju spletne strani, ki je temeljil na baza podatkov, ki David proizvaja tukaj.
Žal mi je David, sem vas kliče.
Če boste želeli, da se uporabi cela stvar, ki ste jo
morali počakati pod tradicionalno monolitno razvoj programske opreme
okolje, bi morali počakati dokler je bil storjeno z bazo podatkov
preden lahko dejansko narediti kakršne koli spremembe na vašo spletno stran.
Morali bi prerazporeditev Celoten zahtevek, da to storijo.
>> In kaj DOCKER pomaga morate storiti, je vsaka oseba, ki dela na različnih komponent
in jih posodobiti, saj gredo, samo izdelavo prepričani, da so vmesniki ostala enaka.
Torej, kaj je storil se je to premaknilo ljudi
od početje to ogromen monolitno architected programska oprema, ki
razporejeni vsak mesec neprekinjeno integracija in stalen razvoj
okolje.
>> Zdaj to ni edinstven DOCKER, vendar DOCKER omogoča tako veliko lažje,
kar pomeni, da ste v bistvu nenehno uvajanje.
Govorimo, da podjetja, ki so uvajanje javnih aplikacij čelne
tisočkrat na dan, ker vidijo vrednost v samo izdelavo
majhne spremembe, in tako dolgo, saj teče skozi testov,
najemnin je iti ven v proizvodnjo.
Nico je bil vedno mi povedali prej, da je v mnogih okoljih,
standard življenjski cikel Posoda se meri v sekundah,
ker je stvaren stroj lahko se meri v mesecih.
>> Želel sem, da bi rahlo obrniti sem, ker sem
na izobraževalno ustanovo.
Želela sem dati zgled, kako to deluje v pedagoškem raziskovanju
situacija.
Tako da je organizacija imenovane bioboxes.
Bioboxes počne DNK Analiza za raziskovalce.
>> Zdaj, kaj so našli, da ko researcher-- in to ni
krivda koli zlasti researcher-- ampak ko
raziskovalec razporejeni algoritem za analizo,
Na poseben način, vzorec DNK, bi jih napisati programsko opremo,
objavi, da je mogoče, da GitHub ali nekje drugje,
in potem so naredili.
>> No, problem je bil, da je to ni nujno, da je ponovljiv.
Ker zaradi razumeti, programsko opremo,
ti bi bil ustanovljen za Točen razvojno okolje
da ta raziskovalec uporabljajo, običajno njihov prenosni računalnik ali strežnik, ali podatkovnega
center, ki so bili z uporabo.
In zato je bilo zelo težko reproducirati rezultatov raziskav pri
analizo vzorcev DNK pogledati na stvari, kot so incidence--
primerjajo pojavnosti srčne kapi na osnovi določenih genov je prisoten,
na primer, ali tveganje za nastanek raka, ali katerokoli vrste stvari.
>> Torej, kaj so naredili, namesto da je bil se je začelo ustvarjanje posode.
In lahko greš na bioboxes.org, to je super organizacija.
In kaj storiti, je, da proizvajajo Posode, ki temelji na raziskavah.
In potem vsakič, ko nekdo pošlje v svojem vzorcu, ga lahko zaženete.
In to je vse okolje potrebne za vodenje tega algoritem
in proizvajajo rezultate.
In oni ugotovil, da oni veliko bolj verjetno, in še veliko
hitreje sposoben vrnejo rezultate za ljudi.
>> In v resnici, so tisto, kar ljudje delajo teče svojo analizo DNK,
pošiljanje, ki se v bioboxes, in potem biobox traja le podatke,
ga požene proti sorte za različne posode
videti različne rezultate temeljijo na različnih raziskavah.
Torej, to je zelo močan način, na katerega raziskovalci
lahko en sam primerek, ki omogoča druge ljudi, da poskusite in reprodukcijo
rezultat.
>> Torej, kako začeti?
Smo dobro podprt na Linuxu.
Torej, če želite namestiti kaj na Linux,
uporabljate svoj standarda Vodja paket namestiti.
Če uporabljate Debian, je apt get.
CentOS je yum.
Fedora Red Hat je rpm-- ne spomnim.
Kakorkoli že, to je vse.
Podpiramo široko paleto od distribucij Linuxa.
Lahko preverite jih ven.
>> Imamo tudi možnosti, da vas lahko deluje na Mac ali Windows.
Zdaj Nico smo že omenili, da je je bil podprt samo na Linuxu.
To je res, ker je potrebuje jedro Linuxa.
Ampak, lahko zaženete v virtualnem stroju.
In kaj je DOCKER Toolbox ne, ki jo lahko prenesete,
vam daje to stvaren stroj.
>> Torej, samo na hitro 48 drugič, mislim, da prenesete.
Samo iščete na DOCKER Škatla z orodjem, jo ​​naložite na Mac,
in ta del je Seveda pospešiti, ker kdo
želi gledati prenos signala?
Standardna Mac namestitev, in potem ste
videli Jerome dal v njegovo geslo.
To je zelo razburljivo.
In potem se namesti cel kup orodij.
In predvsem, da bo namestite ukazno vrstico.
In potem bi lahko videli Jerome testiranje njegove slike.
>> In potem na podlagi tega, lahko vidite, da je YouTube
meni, da je Nico zanima Star Wars, The Jimmy Kimmel show,
in mislim, Ellen.
Mislim, da je zadnji posnetek od Ellen show.
>> Torej DOCKER Toolbox, čeprav gre z več kot le DOCKER Machine.
Torej DOCKER Stroj je stvar, ki pomaga
nastavite virtualno Stroj na vaš Windows
ali Mac-- vaš polje za Windows ali Mac box-- in vam pomaga narediti rezervacij,
>> Ampak je tudi z Swarm in Sestavi,
ki so oblikovani, da vam pomaga narediti velik uvajalnih merilu vašo aplikacijo.
Torej, če želite upravljati grozdov vozlišč,
grozdi zabojnikov, Sestavljanje in Swarm so način, da gredo o tem.
>> In seveda gre z Lučki delavec motorja in Kitematic,
ki je to desktop GUI.
Želel bi tudi omeniti DOCKER registra, ki ni vključena v orodjarni
vendar pa je način za vas, da vodijo svojo lastno registri DOCKER Slike kot DOCKER
Hub, lahko pa tudi samo uporabo Lučki delavec Hub kot način za to.
>> In, parcela zasuk, vidiš da teče v posodo.
In to je, kako smo distribucijo naših diapozitivov.
To celotno predstavitev dejansko HTML slide krova za.
In se izvaja v posoda, ki jo lahko dobite by--
>> NICOLA kabar: Ja, tako da je teče za poln delovni čas na moji Maks.
In jaz predstavitvi od njega.
In si naredil DOCKER po namestite svojo orodjarno.
Lahko samo narediti DOCKER tek in ga dobil, in uporabi diapozitive.
>> MANO OZNAK: In to je to.
Tako vam zahvalil za prihod.
In bomo z veseljem odgovorili na vprašanja.
Naj omenim pred nikomer zapusti obstaja majice tja.
Žal mi je vsakdo, ki je gledal to na Uživo ali video,
vendar imamo DOCKER majice tja.
In vemo DOCKER študentov, in po mojih izkušnjah,
profesorji preveč, kot je brezplačen oblačil.
>> Torej, hvala vsem za prihajajo ven.
In nam sledite na Twitterju če hočeš ali ne.
Me ne zanima.
Sledijo tudi DOCKER na Twitterju.
To je tudi zanimivo.
In potem to je to.
Docker.com.
Hvala.
>> [Aplavz]