>> [Music kucheza]
DAVID Malan: zote haki.
Asante sana kwa kuja.
Hii ni CS50 semina ya Docker, a teknolojia ambayo sisi wenyewe na CS50
wameanza kutumia kwa muda mrefu sasa.
Hivyo jina langu ni David Malan, mimi kufundisha Harvard Kuanzishwa
kwa Sayansi ya Kompyuta.
Kwa kabisa baadhi ya miaka, tumekuwa kutoa wanafunzi
downloadable mteja upande mashine virtual
ambayo wao kufanya matatizo yao seti.
Kwamba tuna sasa zilianza kwa mazingira wingu
kwamba kweli matumizi ya teknolojia hii aitwaye Docker, kama kwamba wote CS50
sasa wana wao wanafunzi vyombo mwenyewe Docker
kwamba utasikia hivi karibuni kusikia wote kuhusu.
>> Aidha, kwenye kompyuta CS50 upande nguzo, kwa miaka mingi
tungetumia wingu kompyuta Amazon.
Sisi walikuwa wanakimbia binafsi mashine virtual.
Pia kwamba, tumeanza ya mpito kwa mambo haya kuitwa Docker vyombo
ili yote ya maombi yetu ni sasa kikamilifu pekee kutoka kwa mtu mwingine.
Hivyo kwa kuwa na zaidi, naomba kuanzisha marafiki zetu, Nico na Mano,
kutoka Docker yenyewe.
NICOLA Kabar: Shukrani, Daudi.
Habari zenu.
Jina langu ni Nico na hii ni Mano.
Tuko kutoka Docker.
Tunakwenda kuwa na kuzungumza about-- kutoa nyie intro kwa Docker,
na hopefully, kuelekea mwisho ya majadiliano hayo unaweza kutambua
ni kiasi gani unaweza kutumia daktari kwa oxalate maendeleo ya maombi yako
na kupelekwa.
>> Kwa hiyo, tunakwenda kuanza mbali halisi haraka na baadhi ya taarifa za msingi.
Kueleza kile Docker ni yote juu.
Jinsi gani kazi?
Jinsi ni architected?
Mimi itakuwa kufanya baadhi demos.
Na Mano ni kwenda kuwa kueleza jinsi gani unaweza kutumia Docker
na kutoa hatua maalumu jinsi gani unaweza kupata kuanza.
>> Ningependa kufahamu kama wewe guys unaweza kushikilia mbali kwa maswali yako mwishoni.
Kwa njia hiyo, nipate akihutubia wale maswali katika mada.
Hivyo tutaweza kuondoka muda kuelekea mwisho kwa maswali.
>> Hivyo tu halisi haraka, ambaye ana kweli milele kazi juu ya Docker,
kama alicheza kwa hayo?
Kutisha.
Baridi.
Kubwa.
Kwa hiyo, mimi nina kwenda kuanza pamoja na baadhi ya historia.
Hivyo nyuma katika miaka ya 90 na miaka ya 2000 mapema, kimsingi
kama mtandao watengenezaji, watengenezaji programu, walipo kupeleka maombi
ilikuwa imefungwa kwenye akamzalia chuma.
Ilikuwa ni server moja.
Ilikuwa ni moja ya maombi.
>> Jadi, mfano itakuwa kama taa stack,
ambapo kweli alikuwa na kuleta bwawa la rasilimali.
CPU, kumbukumbu, disk, mtandao, kufunga mfumo wa uendeshaji juu ya kwamba.
Kama wewe ni kuwahudumia kitu, ikiwa wewe ni kweli kuwa mtandao wa kompyuta,
unahitaji kitu kama Apache kwa kumtumikia yake.
>> Kama maombi yako mahitaji Mbegu, backhand,
ungependa kufunga kitu kama MySQL, na kadhalika.
Na kama unahitaji kukimbia wakati, PHPs na PHP chatu kazi walikuwa huko.
Na hivyo sisi kweli alikuwa na kuchukua hatua hizo ili
kupata maombi yako juu na kukimbia.
>> Kama inahitajika nguvu zaidi compute, wewe kimsingi alikuwa na wito Ops yako guy
au gal kwenda na rack up mpya kipande ya vifaa, kuungana,
na una kurudia wale taratibu tena na tena.
Hivyo mpango huu ghali.
Ilikuwa dhahiri polepole sana.
>> Ilikuwa ni ufanisi.
Na katika mengi ya matukio, yako vifaa ilikuwa matumizi yake yapo chini.
Hivyo, katika '90s marehemu na mapema 2000, vifaa virtualization alimkuta.
Na kama unaweza kuona hapa katika picha, kimsingi walichofanya
ni yanayotumika bwawa la rasilimali bure vifaa
na aina ya kutumikia wale kwa tabaka ya juu,
katika kesi hii, mgeni mfumo wa uendeshaji.
>> Na wazo zima la mashine virtual alimkuta
na kwamba kweli alisaidia wingu kompyuta kama tunajua kuwa leo.
Hivyo kwamba maana gani ni wewe wanaweza kukimbia nyingi VMS, ambayo
maana mwingi nyingi, nyingi maombi juu ya huo mashine ya kimwili.
>> Hii dhahiri kusaidiwa na kasi ya maombi kupelekwa.
Dhahiri na gharama.
Huna kwenda na kutumia nishati, muda, na rasilimali kwa rack
watumishi zaidi ya kupata zaidi compute.
Na kasi ya kweli na kuleta wale rasilimali up ni kwa kasi zaidi.
Kubwa.
>> Hivyo sisi kutatuliwa njaa duniani, sawa?
Hapana, si kweli.
Hivyo, virtualization kama vile ni kweli ulisaidia, kushughulikia tatizo,
ni kweli kuletwa changamoto nyingi.
Hypervisor dhahiri ilianzisha mengi ya utata,
utunzaji wale msingi bwawa la rasilimali.
>> Ni nzito kwa maana kwamba kabla alikuwa moja mfumo wa uendeshaji ambayo
Ni kama tatu, nne gigs ya rekodi.
Sasa, kama una mashine 10 juu ya vifaa moja
una kuzidisha na idadi ya mashine.
Ni dhahiri zaidi ghali kwa maana wewe bado
una kupata leseni kwa teknolojia virtualization
kama si wazi chanzo.
>> Lakini, hebu kuchukua zote mikopo kutoka virtualization.
Kwa sababu kile kilichotokea ni kuna mengi ya mwingi na kura ya programu
teknolojia kwamba walikuwa kuwezeshwa na jinsi ya kufunga walikuwa na uwezo wa kupata
rasilimali na wingu boom.
>> Hivyo, leo programu moja au huduma wanaweza kuwa kutumia yoyote ya runtimes zifuatazo
au database.
PHP, Python, MySQL, Redis, whatnot.
Hivyo kuna mengi ya utata juu ya hili idadi ya mwingi kwa kweli kuleta
huduma moja.
Na pamoja na kwamba, alikuwa na mengi ya rasilimali ya msingi au miundombinu
aina ya mtihani kupeleka na kimsingi kuchukua ili uzalishaji maombi hayo
kuwa wewe ni zinazoendelea.
>> Hasa kama timu yako na mzima kazi ya programu hizo,
kuna mengi ya utata na changamoto
kwamba walikuwa kuletwa ili kuhakikisha kuwa cycle-- kimsingi maombi
mzunguko wa maendeleo, ni kweli mafanikio.
Hivyo, ukweli kwamba maombi yako ni kazi ndani ya nchi kwenye VM eneo lako
haina dhamana kwamba mwenzake yako ni kwenda kutarajia matokeo sawa.
>> Na wakati shughuli timu ni kushiriki katika kuchukua nini una
na kupeleka katika uzalishaji wadogo, pia hakuna uhakika
kwamba hiyo ni kweli kwenda kutokea.
Hivyo hii zinatuacha na kweli big-- mengi ya alama ya kuuliza,
changamoto nyingi hasa wanakabiliwa vile vile nyuma katika siku.
Na kwamba aliwakumbusha yetu ya sekta ya meli.
>> Hivyo sekta ya meli alikuwa na mengi ya bidhaa,
kama unaweza kuona upande wa kushoto.
Na upande wa kulia, kuna mengi ya, kimsingi,
njia za meli ya bidhaa hizo.
Na kile kinachotokea kama wanandoa folks walifanya mkutano, akasema,
tunahitaji standardize jinsi sisi kweli meli ya bidhaa hizo.
Na boom, una intermodal meli chombo.
>> Hivyo walikubaliana juu ya wengi ukubwa wa kawaida kwa chombo.
Jinsi ya kushughulikia yao.
Nini halisi njia unahitaji kupakia na kupakua yao kwao.
Na kwa hiyo, kwamba kweli kusaidiwa sekta ya meli.
Sasa zaidi ya 90% lengo kusafirishwa kimataifa ni kutumia vyombo hivyo.
Na kwamba dhahiri itapungua gharama kama vile
uharibifu kutokana na meli.
>> Kwa hiyo sisi kuchukua mtindo huo na sisi kuomba programu wawili maendeleo ya programu
usanifu, kwa maana kwamba containerization
alichukua virtualization juu ngazi moja.
Hivyo badala ya kufanya hivyo katika ngazi ya vifaa,
ikawa zaidi ya uendeshaji mfumo kiwango virtualization.
>> Na sisi kufanya hivyo kwa kutoa kila maombi katika yake mwenyewe nyepesi,
pekee, runnable, na portable, muhimu zaidi,
njia ya kweli kufunga kila kitu kwamba mahitaji ya kuendesha.
Mahali popote inaweza kuwa na kukimbia.
Hivyo, bila kujali kama wewe ni mbio juu ya mazingira ya mahali hapo dev, uzalishaji yako
mazingira, staging au kupima yako.
Hakuna jambo gani za msingi miundombinu ni pale,
alikuwa kazi kazi ya programu.
>> Hivyo kwamba ni nini hasa kimsingi vyombo kufanya ili tatizo hili.
Wao kulishughulikia na ufungaji ni kwa namna
iweze kuhakikisha kwamba ni uliotumika mafanikio bila kujali ambapo ni maisha.
Hivyo kama wewe ni kwenda kama, Bob bado ni sawa.
Kama wewe ni kuchanganyikiwa na nini mimi kusema, Mimi nina kwenda kuwa kufafanua juu ya jambo hilo.
>> Hivyo ni jinsi gani Docker yenyewe fit katika picha hii?
Hivyo Docker ni jukwaa wazi kwa urahisi, kusisitiza urahisi,
kujenga meli, kukimbia, nyepesi portable binafsi
vyombo programu kutosha popote.
Hivyo kama wewe kuchukua kitu kutoka hii Majadiliano, tafadhali kuchukua yafuatayo.
>> Kama una programu yako bomba ndani ya nchi na wewe maendeleo yake
katika kutumia jukwaa Docker, wanatarajia kwa kuwa mafanikio uliotumika.
Hakuna jambo gani ni miundombinu ya msingi.
Hivyo kama una Docker chombo na ni kazi, basi
muda mrefu kama kuna Docker injini ya side-- mengine
kama kazi yako miundombinu ni kwa kutumia yoyote wingu, iwe ni
ni AWS, au Google, au Microsoft, au yoyote ya mawingu ya umma,
au wingu yako mwenyewe, au stack yako wazi Wingu, au mazingira ya eneo lako.
>> Kama una injini kukimbia, kwamba maana yake
ni kwenda kuwa mafanikio uliotumika huko.
Ni kwenda kuwa mbio hasa tabia hiyo
kama wewe architected iwe.
Hivyo kama sisi kuangalia at-- mimi nina kwenda kupitia kile kweli
ni katika sehemu kuu ya Docker.
>> Hivyo injini za jamii ni kiini cha Docker.
Ni ubongo.
Ni inachochea jengo, meli, na kupeleka na kusimamia
vyombo wenyewe.
Mimi itabidi kuchimba katika kile injini za anafanya katika maelezo zaidi katika pili.
Kimsingi, kwa sababu Daktari ilijengwa karibu usanifu mteja server,
hivyo ili kuingiliana na Injini unahitaji aina fulani ya mteja.
>> Picha ni templates katika ambayo vyombo ni kujengwa kutoka.
Hivyo picha ni kimsingi tu tuli mafaili.
Matukio na vyombo ni kweli nini
ni mbio katika Runtime kwamba ni kuwahudumia maombi yako
au kufanya kitu kwa data.
>> Usajili ni kushughulikiwa kama tatizo la jinsi kweli kusambaza picha.
Hivyo kama unahitaji kushiriki picha kwamba kazi katika na mwenzake yako
au kwa timu ops, wewe matumizi yake kwa kutumia Msajili.
Unaweza kushusha chanzo wazi toleo la ni kwamba Docker kazi katika
na kufungua sourced.
>> Au unaweza kutumia Docker msaada, ambayo ni toleo wingu
kushinikiza na kuvuta picha huko nje.
Hilo ni jambo kubwa.
Kwa sababu kuna mkubwa mazingira kuzunguka Docker na ni
kweli sana kutumia kitovu.
>> Hivyo kwa kifupi hapa, hii ni jinsi minimalist Docker workflow mteja.
Wewe kuingiliana na jeshi, katika kesi hii ni daemons Docker.
Ni kitu kimoja kama injini ni.
Kufanya amri kama Docker kujenga, kuvuta, kukimbia.
Na injini yenyewe inakwenda na anafanya mambo hayo.
>> Hivyo ama interacts na Usajili wa kuvuta taswira hizo
na matabaka ya picha.
Kama ukitaka kupeleka, kukimbia vyombo, kuwaua, kutupa yao chini,
whatnot.
Hivyo hii inatoa muhtasari wa workflow ya yote ya vipengele hivi.
>> Hivyo kama wewe kuchukua kila sehemu kwa yenyewe.
Hivyo injini za, ni tu daemon.
Kutakuwa na aina ya kucheza kuunga mkono kwenye Linux kwa sababu haina
zinahitaji baadhi Linux Kernel makala.
Lakini Madirisha ni kazi juu ya kufanya kitu kimoja.
Ni walidhani kuwa na mkono na Windows Server 2016.
>> Hivyo, tena, majukumu na injini ni, au ni kwa, kujenga picha.
Kuvuta picha kutoka Docker Kitovu au Msajili yako mwenyewe.
Kama wewe ni kosa na picha hizo au wewe kujenga picha mpya,
unaweza kushinikiza wale nyuma ya Usajili kuzisambaza kwa timu nyingine.
>> Na kujaribu kuudhibiti ndani ya nchi na kusimamia mzunguko wa vyombo maisha
ndani ya nchi.
Ni kujengwa karibu HTTP REST API.
Basi kitaalam unaweza kuandika mteja wako mwenyewe
muda mrefu kama anatumia HTTP, ambayo ni sana kiwango cha utaratibu wa kuzungumza na injini
na mengi ya huduma nyingine.
Na unaweza kuona kutoka hapa kwamba bila kujali
nini miundombinu ni, kwa muda mrefu kama wewe can-- zote
unahitaji ni uendeshaji mfumo, Linux mahsusi.
>> Na unaweza kufunga Docker injini za juu ya kwamba na kuwa ni mbio
nayo inachochea, kimsingi, zote hizi programu moja, mbili,
na tatu ni vyombo halisi.
Hivyo hiyo ni injini.
Kama nilivyoeleza hapo awali kwa sababu unahitaji kuingiliana na injini,
kuna mteja.
>> Lakini kwa kweli wakati wa kufunga Docker, ni meli na hayo.
Hivyo anapata imewekwa, hivyo ni mapacha moja.
Na unaweza kufanya simu za mitaa kwa yako Docker injini.
Au wito kijijini Injini kijijini.
Haina matumizi HTTP, kama Nilivyoeleza awali.
Kuna mteja GUI aitwaye Kitematic kutoka Docker.
Na kuna dhahiri mengi ya folks nyingine
ambao ni kujenga mengi ya GUIs kwamba kimsingi kutekeleza
baadhi HTTP wito wa kuzungumza na injini.
>> Baadhi tu amri sampuli.
Kama wewe kufanya Docker version, ingekuwa kuonyesha toleo la mteja pamoja na
server toleo.
Kama wewe kufanya Docker maelezo itakuwa kukuambia habari zote
kuhusu jinsi vyombo wengi ni mbio au kuundwa, ni wangapi picha una,
na kadhalika na kadhalika.
>> Hapa nina, katika karibu na sanduku mwisho, nina Daktari kukimbia.
Hivyo hiyo ni jinsi mimi nina kweli kujenga chombo.
Na mimi nina wakitoa kurudia Hello World na kulala kwa ajili ya pili na mengineyo.
Na unaweza kuona Matokeo yake. Hivyo ni unaoendelea.
Na sawa na Linux ps, unaweza kuona taratibu zote na, katika kesi hii,
zote mbio vyombo.
Hii moja ya akimaanisha nyuma chombo mimi tu kuundwa.
>> Hivyo, hii ni kweli ni muhimu kwa sababu, kama, inaweza kuwa kidogo utata.
Hivyo picha ni kusoma tu mkusanyiko wa mafaili, sawa?
Wao ni nini chombo yetu ni msingi.
Lakini wao ni tu kusoma tu.
Hivyo kuanza mbali na picha ya msingi.
Inaelekea kuiga OS-kama, hivyo Ubuntu, CentOS, whatnot msingi picha.
Na kisha kuanza kujenga juu ya kwamba, tabaka fulani, ambayo yanafanya
mwisho wako picha, matokeo ya mwisho hapa.
>> Na kila moja ya tabaka zile wanapaswa kuwa na mzazi picha
kuwa ni marejeo wakati kweli anataka kuunda.
Wao ni hayabadiliki, kwa maana kwamba kwa sababu wao ni kusoma tu,
huwezi kweli kufanya mabadiliko kwao.
Unaweza kutumia yao kwa kujenga chombo kutoka picha, ambayo
atawaita yote ya baadae picha required chini yake.
>> Unaweza kufanya mabadiliko kwa safu mbalimbali,
ni rewrite safu mimi itabidi majadiliano juu katika pili.
Lakini kila mmoja tabaka wale ni kamwe iliyopita.
Kimsingi picha kutumia kitu aitwaye Umoja Picha System, UFS.
Na kuna kuhifadhi mbalimbali mazingira ya nyuma kwamba kutumia teknolojia hii.
Na nini maana ni kwamba huleta pamoja mifumo ya faili tofauti
ili kuwafanya kuangalia kama moja.
>> Hivyo unaweza kweli, kutoka maombi mtazamo,
una juu ya mtazamo kwamba inaonyesha zote mbalimbali mfumo wa faili unaohitajika
kwa maombi ambayo kukimbia.
Lakini wao ni kweli, juu ya hili, wao ni kweli katika maeneo tofauti
na kuwa itatumika kwa vyombo vingine pia.
>> Hivyo kama unaweza kuona hapa kwamba katika kama sisi kuanza na daemon picha
kama picha ya msingi, na kisha sisi kwenda katika na kuongeza [? emacs?]
na kisha hiyo mwingine safu.
Na kisha kuongeza Apache.
Hiyo ni mwingine safu.
Na kisha tunatumia chombo na kwamba.
Kila moja ya picha hizo, kila mmoja tabaka hizo,
ni tofauti na inaweza kuwa tena na vyombo vingine.
>> Kama ukiangalia vyombo wenyewe, wao uko namna fulani kama VM-kama,
lakini si kutibiwa kwa wakati mmoja.
Kwa hiyo, hawana, kitaalam, mfumo kamili wa uendeshaji chini yao.
Wao kutumia Kernel moja mfumo wa uendeshaji wa jeshi.
Nao kujenga juu ya jambo hilo.
Wao mimic katika jinsi ya kuangalia.
Wao mimic faili zao mzizi mfumo wa mfumo wa uendeshaji.
Lakini kwa kweli si kujinakilisha.
>> Hivyo, badala ya kuwa tabaka hayabadiliki, safu ya mwisho, ambayo ni chombo
yenyewe, ni kusoma kuandika safu.
Hiyo pia anaendesha taratibu ya maombi yako.
Na inategemea tabaka za msingi.
Kila chombo ni umba kutoka picha.
Na picha kwamba inaweza kuwa moja safu au multilayer picha.
>> Na nataka kutambua hapa kwamba Docker sana anatumia,
au ni msingi Copy-Write On-utaratibu.
Hivyo kwamba, kwa kweli, kama wewe si kufanya mabadiliko ya chombo,
siyo kwenda kuchukua nafasi ya ziada.
Hivyo kwamba kimsingi ni jinsi gani muhtasari Copy-Write On-.
Ni kwenda dhahiri kuharakisha Boot muda kwa chombo.
Kwa sababu kama wewe si kufanya mabadiliko ya chombo,
ni kutumia kile ambacho tayari pale.
>> Hivyo, jinsi ni kweli kazi.
Sehemu ya ni kama, hivi sasa, ni hutumia kernel angalau mbili muhimu
makala.
Na kwamba ni kimsingi nini umba kuwa kiwango cha kutengwa
kwa vyombo wenyewe.
Sifa hizo ni namespaces na cgroups.
Hivyo namespaces ni njia ya kujenga rasilimali pekee,
ili ndani ya chombo yenyewe, wewe tu unaweza kuona rasilimali fulani.
Kama vile interface mitandao au watumiaji fulani au whatnot.
>> Na wale ni wazi tu na tu kupatikana ndani ya chombo.
Cgroup kwa upande mwingine mipaka upande jinsi gani matumizi ya rasilimali hizo.
CPU, kumbukumbu, na rekodi.
Wakati unaweza kwenda katika, mimi maana hayo ni kweli
sifa ya kuwa walikuwa maendeleo by-- wao ni sehemu ya Linux Kernel.
Hivyo hawakuwa upya na au upya na Docker.
Docker anatumia wao.
>> Nini Daktari kweli alifanya hapa ni kweli ni
Orchestrated ya kujenga namespaces kwa kila kontena
na kujenga cgroups ili ni ridiculously rahisi kujenga vyombo
kutumia makala hizo.
Bila shaka, kama mimi ilivyoelezwa mapema, Umoja Faili Systems na-Andika Nakala-On kweli
kusaidia kasi na rekodi matumizi ya vyombo.
>> Na mara moja kupata yako mikono kuzunguka Docker,
wewe ni kwenda kuona jinsi ya kufunga ni kwa kweli spin up vyombo na machozi
yao chini.
Hivyo, kama wewe kuuliza, jinsi gani wewe kweli kujenga picha?
Sisi kujenga picha na mchakato wa kuunda vyombo na kufanya mabadiliko, kubadilisha
nao, na kufanya nao ndani ya kuwa na picha.
>> Hivyo ni kuku na yai kumbukumbu hapa,
kwa sababu vyombo vyote vyatoka kutoka picha na picha kuja
kutoka vyombo nia, kwa sehemu kubwa.
Kuna chaguzi tatu kujenga picha.
Mimi nina kwenda kuelezea kwanza na ya mwisho.
Unaweza aidha mwenyewe kwenda na kukimbia chombo
na kufanya mabadiliko hayo, kama ungependa kufanya juu ya yoyote VM
au mfumo wowote wa uendeshaji, kama kama kufunga binaries mpya,
kuongeza mifumo ya faili, na mengineyo.
>> Na kisha uzime, kama unaweza kuona hadi pale.
Mimi exiting chombo changu.
Na kisha mimi nina kufanya Docker kutenda.
Na mimi nina kufanya hivyo.
Unaweza kuona kwamba idadi hapa ni tu UUID, au kwanza 12
vipande vya UUID.
Au ka wa UUID.
Na kisha mimi nina wito ni picha yangu.
Hivyo sasa Docker inachukua huduma ya kurekodi kila kitu mimi alifanya hivyo
na kujenga mpya picha kwa kuzingatia kwamba.
>> Mimi si kwenda kuzungumza kuhusu tarball, lakini kuna njia unaweza kupata moja,
kujenga moja, au kufanya moja safu picha kwa kutumia tarballs.
Nini mimi kwenda kuzungumza kuhusu suala hili na nini zaidi ya kutumika leo,
ni Dockerfile.
Ambayo ni ya kitaalam kwanza hatua automatiska na Docker yenyewe.
Hivyo Dockerfiles ni mambo ambayo uko kwenda kuona katika mengi ya GitHub repos
leo.
Ni kimsingi tu Nakala faili kuelezea
hasa jinsi ya kujenga picha.
>> Na kwa kila mstari, ni kweli inajenga chombo, executes kwamba line,
anayetenda chombo kwamba katika sura mpya, na wewe, kimsingi,
kuitumia kwa ajili ya shughuli zote baadae mpaka kupata picha ya mwisho.
Ambayo kimsingi ni mwisho lengo hapa, mwisho.
Na baada ya wewe exec-- baada kuandika Dockerfile yako, ambayo
ni rena katika maandishi, unaweza kufanya Docker kujenga na jina la picha.
>> Na wewe kumweka katika kuwa kwamba ni ambapo Dockerfile ni katika.
Na unaweza kutarajia kuona picha yangu kama picha kwamba una ndani ya nchi.
Hivyo hiyo ni Visual mfano wa yale yanayoendelea.
Unaweza kuanza kwa msingi wa mfano.
Kukimbia kwamba katika chombo kwamba haina kubadilisha msingi picha yenyewe.
Lakini badala inajenga kuandika upya safu juu yake
ambapo kufanya mabadiliko, ambayo kufanya
na wewe kurudia utaratibu mpaka kupata picha yako ya mwisho.
>> Na kwa kufanya hivyo, kila mmoja kujenga mchakato unaweza kutumia tabaka huo
na same-- kimsingi Docker kukamatwa kwa tabaka hizo.
Ili kwamba kama mimi nina kufanya sawa kamili mchakato huo, lakini badala ya kufunga PHP,
Mimi nina kufunga chatu.
Ni kwenda kutumia Apache na Ubuntu.
Hivyo njia kwamba wewe ni kutumia rekodi yako.
Ni kutumia cache na picha zinazopatikana huko.
>> Kipande ya mwisho ni Msajili, ambayo ni jinsi gani kusambaza picha yako.
Na, kama nilivyoeleza awali, kuna toleo wingu yake,
ambayo ni Docker Hub.
Unaweza kwenda na kuchunguza mengi ya kimsingi
ni bidhaa ya umma SAS kwamba bado unaweza kuwa na picha binafsi,
lakini kuna mengi ya picha ya umma.
Ni kweli ukomo, unaweza kushinikiza picha ukomo wa umma huko.
Na hii ni jinsi gani unaweza kushirikiana na timu yako.
>> Unaweza tu hatua yao katika wewe repo na wao unaweza kushusha ni au picha yako
na wanaweza kushusha ni.
Hivyo kutosha kwa majadiliano.
Ambaye anataka kuona baadhi demos halisi haraka?
Sawa.
Hivyo hapa nina.
Ca nyie kuona screen yangu?
Sawa.
>> Hivyo nina Docker mbio hapa, hivyo mimi Unaweza kuangalia it's-- Hili ni toleo la
ya Docker kwamba mbio.
Anaweza kufanya Docker maelezo.
Angalia maelezo yote kuhusu jinsi wengi picha waliyo nayo, na kadhalika na kadhalika.
Docker PS, kuna kitu mbio.
Concatenated hizo.
>> Hivyo jambo la kwanza nataka kufanya ni kuonyesha jinsi unaweza kwa urahisi kukimbia chombo.
Hivyo uzuri kuhusu Daktari kukimbia, ikiwa ni kweli
haina kupata picha ndani ya nchi, by default ni mazungumzo kwa daktari Hub
na anajaribu kupata hiyo kuna na kupakua ni kwa ajili yenu.
Hivyo ni pamoja na Docker kuvuta amri, kawaida.
>> Hivyo kama mimi kufanya Docker kukimbia, hodi-dunia.
Hivyo, kwanza ni kwenda kujaribu ya Machapisho hayo.
Vinginevyo, kama unaweza kuona hapa, haikuweza kupata hiyo ndani ya nchi.
Hivi sasa ni kama tu kujiondoa tabaka mbili kwamba alifanya sanamu hiyo na mimi mbio hiyo.
Hodi-dunia ni tu kimsingi matokeo, nini umefanya.
Hivyo hii ni rahisi, moja rahisi mifano.
Hivyo kweli mimi tu mbio na kuachishwa chombo halisi haraka.
>> Kama mimi nataka run-- na kwa njia, kama Nataka huo, ili tu kujua,
hii ni inachukua muda gani kwa kweli spin juu na kuudhibiti.
Sisi ni kupima katika milliseconds.
Hivyo unaweza kuona ni kiasi gani hii unaweza kweli kukusaidia si tu katika kupima,
lakini pia hata kupelekwa.
Hivyo hiyo ni kumbuka haraka juu ya jambo hilo.
Jambo la pili mimi nina kwenda kufanya ni kweli
kukimbia picha nimekuwa tayari tayari.
Hivyo Docker kukimbia.
-d ni bendera kuwaambia kwa kukimbia kwa nyuma.
Na p inateua bandari fulani.
Kwa sababu by default, vyombo ni pekee,
hivyo kuwa na kutaja hasa jinsi gani inaweza kuzipata.
Na katika kesi hii, mimi nina kuwaambia Docker ramani bandari random juu ya jeshi
bandari maalum ndani ya chombo yenyewe.
Na kwamba kimsingi ambapo image-- hopefully hii ni haki ya mmoja.
>> Hivyo hana sambamba downloads kila tabaka wale kama unaweza kuona hapa.
Hayo ni ya tabaka kufanya picha ya mwisho kwamba mimi kujengwa.
Ni kwenda kuchukua pili.
Na voila.
>> Hivyo sasa kama mimi kufanya Docker ps, mimi lazima kuona kitu ambacho ni mbio.
Ni lazima kuona kitambulisho, picha kwamba hii ilikuwa msingi mbali,
Hiyo amri ambayo shabaha aliuawa.
Na jinsi ya kupata hiyo ni kimsingi wewe kwenda kuwa bandari.
Hivyo mimi nina kwenda to-- hii ni mimi nina mbio juu ya AWS.
Mimi nina kwenda kwa 32,769.
Oops.
Na hapa sisi kwenda.
>> Hivyo hii ni kweli tu mtandao wa huduma hiyo inaonyesha
ambayo chombo ni kuwa aliwahi kutoka.
Hivyo unaweza kuona kwamba ni kutoka chombo a9f.
Na hapa hii ni jina la chombo.
Hivyo nyie unaweza kuona jinsi ya haraka ilikuwa kweli kuvuta si tu bali pia
kupeleka chombo hii.
>> Sasa hatua inayofuata ni kuangalia ndani Dockerfiles
na jinsi tunaweza kweli kujenga picha mpya.
Mimi tu kwenda kwenda kupata msaidizi, a sampuli Dockerfile kulingana na mapema
mchoro, moja kwa Apache na PHP.
Hopefully Nakumbuka repo yangu.
>> Hivyo nina there yangu hivi sasa.
Na wewe ni kwenda kuona hii mengi kwa kweli.
Sikuwa kufunga mti.
>> Hivyo kimsingi wewe ni kwenda kuona jinsi chanzo kanuni yako nyaraka kuzunguka
yake, na kisha Dockerfile juu ya jinsi ya kweli kufunga hiyo.
Hivyo ni sampuli PHP kwamba iliyopewa kichwa hodi CS50.
>> Hivyo kama nataka kukimbia, Mimi itabidi kufanya Docker kujenga.
Nina kwa kujenga kwanza.
Mimi nina kwenda jina hilo demo_cs50.
Na unahitaji tag kwa hiyo pia.
Basi hebu kuiita v1 dot.
Hivyo kama mimi ilivyoelezwa mapema, nini mimi kufanya leo
ni mimi nawaambia Docker kwenda matumizi that-- kweli, pole, mbaya wangu.
Hatukuwa tuangalie katika Dockerfile yenyewe.
Hivyo mambo tu katika hapa ni index.php kama vile readme faili
na Dockerfile.
>> Hivyo kama wewe kuangalia Dockerfile, hivyo ni
sawa na kile Mimi ilivyoelezwa hapo awali.
Ni tu rundo la hatua ambazo Docker executes
kwa kujenga na kubomoa vyombo na [? kuhesabu?] yao katika picha.
>> Na kimsingi unaweza see-- [inaudible] ni here--
lakini hii ni kutokana na repo ndani.
Ni kwenda kwenda na kunyakua index.php.
Hivyo hiyo ni chanzo kanuni tu kwamba ni kweli sehemu ya maombi yako.
Haya yote ni kimsingi mfumo wa uendeshaji mabomba,
kupata fedha za haki na Apache, na PHP, na mengineyo.
Lakini hii ni kweli kuchukua index.php na kutenda katika chombo,
ndani ya picha.
>> Hivyo kama wewe kwenda mbele na kukimbia amri kwa kufanya yafuatayo,
ni going-- kweli, hii inaweza kuchukua kidogo.
Ni matumaini haina kuchukua muda mrefu mno.
Hivyo unaweza kuona hatua.
Na mimi moyo kwenda kurudi nyumbani leo na kujaribu.
Na Mano kuelezea jinsi gani hasa wewe kufanya hivyo.
Lakini ni kubwa kweli kweli kuona hasa nini kinatokea nyuma ya pazia.
Lakini ni ridiculously rahisi kujenga picha na kuwapeleka kwa kutumia Docker.
>> Ni kuchukua kidogo tena kuliko mimi ilivyotarajiwa.
>> Hebu kuona nini kinatokea wakati you-- baridi.
Hivyo kama unaweza kuona, kila moja ya hatua wale kuwakilisha mistari katika Dockerfile.
Na inaonyesha hapa kwamba mafanikio kujengwa picha hii.
>> Hivyo kama mimi kufanya Docker picha, mimi nina kwenda kwa ona picha zote kuwa nina ndani ya nchi.
Mmoja wao anaitwa yangu jina la mtumiaji, na jina la mfano,
na tag representing-- hasa ni tag toleo.
>> Hivyo sasa kama nataka kukimbia hivyo, mimi kufanya Docker kukimbia.
Na mimi nataka tu kufanya -P -d. Je v1.
Hivyo siwezi kuona sasa kwamba I have mbili vyombo kukimbia, moja kwamba mimi tu
iliundwa na hodi Docker moja kwamba mimi got jana.
>> Na unaweza kuona hapa kwamba kupewa ni bandari tofauti.
Hivyo kama mimi kwenda IP sawa lakini hawawajui port-- tofauti hopefully mimi si.
Hivyo sasa hii ni maombi kwamba mimi tu uliotumika.
>> Kama mimi nataka kufanya mabadiliko, mimi Unaweza haraka hariri chanzo kanuni
na kufanya yafuatayo.
Hebu kufanya hodi Harvard.
Hivyo sasa nini kinaendelea kutokea ni kwamba mimi nina
kwenda kumtambulisha kwa mbalimbali version-- loo,
si hii guy-- tag na toleo mbalimbali.
Na wewe ni kwenda see-- kufanya nyie kutarajia
ni kuchukua kiasi kama hicho cha muda kujenga mara ya pili au la?
Sawa, na kuna mtu anajua kwa nini?
Ongea.
>> Watazamaji: [inaudible]
>> NICOLA Kabar: Ni kimsingi sisi tu mabadiliko moja ya hatua za baadaye.
Na kwa hiyo ni kwenda kutumia cache na kutumia kila moja ya tabaka hizo.
Na hiyo ndiyo kweli baadhi ya makala muuaji wa Docker
ni jinsi gani kweli hutumia na reuses kuchukua zaidi
disk yako kwa moja vipande halisi ya habari.
>> Hivyo kama sisi kufanya kitu kimoja, ilichukua sekunde kadhaa.
Kama tunataka redeploy-- hivyo sasa Ni lazima kuwa na vyombo vitatu.
Lakini hii moja ni kuwa mjumbe katika the-- moja saba.
Hivyo sasa ni chombo cha tatu.
Kila mtu kuelewa nini mimi tu alifanya hapa?
>> Hivyo sasa kama unataka kushiriki hii chombo halisi haraka na rafiki yako,
unaweza tu kufanya Docker kushinikiza jina la chombo, hopefully.
Hivyo sasa ni kwenda kuiondoa to-- mimi si saini katika hapa.
Pole juu ya hilo.
Lakini mimi si kwenda troubleshoot hii sasa.
Lakini kimsingi kwamba amri moja ni tu kwenda kuiondoa.
Na wewe ni kwenda kuwa na uwezo wa kuona kama wewe kwenda Docker Hub
Na wewe kuingia katika, uko kwenda kuwa na uwezo wa kuona.
Na kisha unaweza tu uhakika yeyote ni kwenda
kutumia picha kwamba kwenda na kuvuta ni.
Na wanaweza kuitumia.
>> Pamoja na kwamba, hopefully Mimi aina ya alionyesha
jinsi gani ni rahisi kufanya kazi na Docker.
Na mimi nina kwenda tu kwa kuwapa nyuma kwa Mano.
Na yeye kwenda kuchukua kutoka hapa.
>> MANO MARKS: zote haki shukrani, shukrani Nico.
Kwa hivyo?
Hivyo moja ya mambo mimi walitaka kufanya ni kuweka pamoja
nini hii ni important-- kwa nini Docker na kwa nini
vyombo ni kama maendeleo muhimu mpya,
njia mpya ya kweli kufanya programu.
>> Na kabla ya mimi kufanya, mimi nina kwenda kwa tu kuanzisha stats chache.
Sitakuja kusoma yote haya.
Lakini hii inaonyesha mengi kuhusu jinsi maarufu hii ni katika jamii.
Msingi Docker teknolojia ni wazi chanzo.
Hivyo hiyo ni Docker injini za, kutunga, Pumba, rundo la mambo mengine
ni wote chanzo wazi.
Na tuna nini alifanya mimi kusema, 1300 wachangiaji.
Wewe ni kuona sasa, kama ukiangalia idadi ya kazi fursa, mara ya mwisho
sisi inaonekana, ilikuwa juu ya 43,000 kazi fursa hasa kutaja
uzoefu na Docker.
Mamia ya mamilioni ya picha na wamekuwa kupakuliwa kutoka Docker Hub.
Na, pia, stats mengi zaidi kubwa.
>> Kwa wale ambao ni wadadisi, ni awali ilikuwa yaliyoandikwa katika Python
na kisha kuandikwa upya katika Go.
Na imekuwa tu kufungua source-- ni tu
wamekuwa iliyotolewa kwa kuhusu 2 na 1/2 ya miaka, ambayo ina maana kwamba katika 2 na 1/2 ya miaka,
tumeona kiasi kubwa ya ukuaji wa uchumi na umuhimu
haya katika jamii.
Na hivyo nataka kuzungumza kidogo kuhusu nini.
>> Hivyo tu kusisitiza baadhi ya Pointi muhimu Nico wa, Docker ni kufunga.
Ni portable.
Ni reproducible.
Na unaweka juu ya mazingira ya kiwango.
>> Na what-- hii ni crappy yangu muhuri nje monoliths slide-- nini
ni kuwasaidia watu kufanya, ambayo mengi ya sekta ya programu
ilianza kufanya katika miaka ya 2000 mapema, ni kusonga
na hayo monolithic maombi moja
ambapo kila utegemezi na kuwa kupimwa kabla ya programu nzima alikuwa
kupelekwa, ambayo inaweza kuwa na maana tovuti
tu got uliotumika mara moja kila baada ya miezi mitatu, au zaidi,
kwa huduma zaidi oriented usanifu
au componentized tofauti aina ya maombi usanifu.
Na hivyo kuruhusu haya aina ya usanifu
kwamba kuchukua faida ya Docker kukimbia katika hao watatu
maeneo makuu ya maendeleo, ambayo ni maendeleo kuandika kanuni yako halisi,
kupima kanuni yako, na kupeleka yake.
>> Hivyo hii ni kwa nini ni muhimu?
Kama uko a-- nikupe mfano.
Kama wewe ni tovuti developer kifaa, wewe ni
kuendeleza tovuti hiyo kulingana na Mbegu kwamba Daudi zinazozalishwa zaidi ya hapa.
Pole Daudi, mimi nina wito wewe nje.
Kama alitaka kupeleka jambo zima, wewe d
kusubiri chini ya jadi monolithic programu ya maendeleo
mazingira, utaweza kuwa na kusubiri mpaka yeye ilifanywa na orodha
kabla unaweza kweli kufanya mabadiliko yoyote ya tovuti yako.
Wewe d na redeploy maombi nzima kufanya hivyo.
>> Na nini Docker husaidia kufanya ni kila mtu kazi ya vipengele mbalimbali
na kuboresha yao kama wao kwenda, na kufanya tu kuhakikisha kwamba interfaces kukaa sawa.
Kwa hiyo kile amefanya ni ni kubadilishwa watu
kutokana na kufanya hivi monolithic mkubwa architected programu ambayo
uliotumika kila mwezi kwa kuendelea ushirikiano na maendeleo ya kuendelea
mazingira.
>> Sasa hii si ya kipekee kwa Docker, lakini Docker inafanya rahisi sana,
ambayo ina maana uko kimsingi mara kwa mara kupeleka.
Sisi kuzungumza na makampuni ambayo ni kupeleka maombi ya umma yanayowakabili
maelfu ya mara siku kwa sababu wanachokiona thamani katika maamuzi tu
mabadiliko madogo, na kwa muda mrefu kama anaendesha kwa njia ya vipimo,
kuruhusu ni kwenda nje katika uzalishaji.
Nico mara zote kuniambia awali kwamba katika mazingira mengi,
kiwango cha mzunguko wa maisha ya chombo ni kipimo katika sekunde,
ambapo mashine virtual inaweza kupimwa kwa miezi.
>> Nilitaka kuchukua kidogo kugeuka hapa kwa sababu mimi nina
katika taasisi za elimu.
Nilitaka kutoa mfano wa jinsi hii kazi katika utafiti wa elimu
hali hiyo.
Hivyo kuna asasi aitwaye bioboxes.
Bioboxes gani DNA uchambuzi kwa watafiti.
>> Sasa nini walikuta ni kwamba wakati a researcher-- na hii si
kosa la aina fulani researcher-- lakini wakati
Mtafiti uliotumika algorithm kuchambua,
Kwa namna ya pekee, DNA sampuli, wangeweza kuandika programu,
kuchapisha kwamba, labda kwa GitHub au mahali pengine,
na kisha wao yalifanyika.
>> Naam tatizo ni kwamba Ilikuwa si lazima reproducible.
Kwa sababu ili kuelewa programu,
wangeweza kuwa kuanzisha kwa mazingira halisi ya maendeleo
kuwa mtafiti kwamba kutumika, kwa kawaida mbali yao, au server, au data
kituo cha kwamba walikuwa kutumia.
Na kwa sababu hiyo, ilikuwa vigumu sana kuzaliana matokeo ya utafiti wakati
kuchambua sampuli za DNA ya kuangalia mambo kama incidence--
kulinganisha matukio ya mashambulizi ya moyo kulingana na jeni fulani kuwa sasa,
kwa mfano, au hatari kansa, au yoyote ya aina nyingine ya mambo.
>> Hivyo walichofanya badala alikuwa walianza kujenga vyombo.
Na unaweza kwenda bioboxes.org, ni shirika kubwa.
Na wanachokifanya ni wao kuzalisha vyombo kulingana na utafiti.
Na kisha wakati wowote mtu inapeleka katika sampuli zao, wanaweza kukimbia nayo.
Na ina mazingira yote zinahitajika kuendesha kwamba algorithm
na kutoa matokeo.
Na wao ni kutafuta kuwa wao ni mkubwa zaidi na mengi
zaidi haraka na uwezo wa kurudi matokeo kwa watu.
>> Na kwa kweli, watu nini wanafanya ni mbio uchambuzi yao wenyewe juu ya DNA,
kutuma kwamba katika ili bioboxes, na kisha biobox tu inachukua data,
anaendesha hiyo dhidi ya aina vyombo ya tofauti
kuona matokeo tofauti kulingana na utafiti mbalimbali.
Hivyo ni nguvu sana njia ambayo watafiti
wanaweza kufanya mfano moja ambayo inaruhusu watu wengine kujaribu na kuzaliana
Matokeo.
>> Hivyo ni jinsi gani kuanza?
Sisi ni pamoja na mkono juu ya Linux.
Hivyo kama unataka kufunga chochote juu ya Linux,
wewe kutumia kiwango yako mfuko meneja kufunga.
Kama unatumia Debian, ni mwalimu mwema kupata.
CentOS ni yum.
Fedora Red Hat ni rpm-- Sikumbuki.
Hata hivyo, ni wote huko.
Tunaunga mkono aina kubwa ya Linux mgawanyo.
Unaweza kuangalia wale nje.
>> Sisi pia kuwa chaguzi hivyo kuweza kukimbia juu ya Mac au Windows.
Sasa Nico ilivyoelezwa awali kwamba ilikuwa tu mkono juu ya Linux.
Hiyo ni kweli kwa sababu mahitaji Linux Kernel.
Lakini, unaweza kukimbia katika mashine virtual.
Na nini Docker Jumuia gani, ambayo unaweza kushusha,
inakupa kwamba mashine virtual.
>> Hivyo tu haraka 48 pili, nadhani, download.
Wewe tu kutafuta kwenye Docker Jumuia, kushusha ni kwa Mac,
na sehemu hii ni ya Bila shaka sped up kwa sababu ni nani
anataka kuangalia download ishara?
Standard Mac ufungaji, na kisha uko
kwenda kuona Jerome kuweka katika neno lake la siri.
Hiyo ni ya kusisimua sana.
Na kisha installs rundo zima la zana.
Na hasa itakuwa kufunga mstari amri.
Na kisha unaweza kuona Jerome kupima taswira yake.
>> Na kisha kulingana na hii, unaweza kuona kwamba YouTube
anadhani kwamba Nico ni nia ya Star Wars, show Jimmy Kimmel,
na nadhani Ellen.
Nadhani mwisho moja ni kipande cha kutoka show Ellen.
>> Hivyo Docker Jumuia ingawa huja kwa zaidi ya Docker Machine.
Hivyo Docker Machine ni Jambo ambayo husaidia
kuanzisha virtual mashine Windows yako
au Mac-- yako Windows sanduku au Mac yako box-- na husaidia kufanya utoaji,
>> Lakini pia kuja na Pumba na kutunga,
ambayo ni iliyoundwa na kukusaidia kufanya kubwa deployments wadogo wa maombi yako.
Hivyo kama unataka kusimamia makundi ya nodes,
makundi ya vyombo, Kutunga na Pumba ni njia ya kwenda juu ya hilo.
>> Na bila shaka inakuja na Docker injini za na Kitematic,
ambayo ni GUI hii eneo kazi.
Mimi lazima pia kutaja Docker Msajili, ambayo ni pamoja na katika Jumuia,
lakini ni njia kwa ajili ya wewe kukimbia yako mwenyewe usajili wa Docker Picha kama Docker
Kitovu, lakini pia unaweza kutumia tu Docker Hub kama njia ya kufanya hivyo.
>> Na, njama twist, wewe ni kuona ni mbio katika chombo.
Na kwamba ni jinsi tuko kusambaza slides wetu.
Zoezi hili zima ni kweli HTML slide staha.
Na ni mbio katika chombo, ambayo unaweza kupata by--
>> NICOLA Kabar: Ndiyo, hivyo ni mbio muda kamili juu ya Max yangu.
Na mimi nina kuwasilisha kutoka humo.
Na wewe tu kufanya Docker baada kufunga Jumuia yako.
Unaweza tu kufanya Docker kukimbia na kupata, na kutumia slaidi.
>> MANO MARKS: Na hiyo ni yake.
Hivyo sisi kuwashukuru wote kwa kuja.
Na sisi ni furaha na kujibu maswali.
Mimi kutaja kabla ya mtu yeyote majani kuna fulana zaidi ya hapo.
Pole mtu yeyote ambaye ni kuangalia huu juu ya Livestream au video,
lakini tuna Docker fulana zaidi ya hapo.
Na tunajua Docker wanafunzi, na katika uzoefu wangu,
maprofesa pia, kama mavazi ya bure.
>> Hivyo kuwashukuru wote kwa kuja nje.
Na kufuata yetu juu ya Twitter kama unataka, au hawana.
Sijali.
Pia kufuata Docker juu ya Twitter.
Hiyo ni pia kuvutia.
Na kisha hiyo ni yake.
Docker.com.
Asante.
>> [Makofi]