[MUSIC PLAYING] DAVID Malan: Bütün hüququ. Gələn üçün çox təşəkkür edirik. Bu yükvuran, A CS50 seminar texnologiya özümüzü və CS50 ki, İndi bir müddət istifadə edərək başladı. Belə ki, mənim ad David Malan Mən deyil Harvard Giriş öyrətmək Kompüter elmləri. Çox bir ildir ki, biz tələbələri verilməsi olduğunuz downloadable klient virtual maşın olan onların problemləri dəstləri yoxdur. Biz indi transitioned ki Cloud ətraf mühitə ki, həqiqətən, bu texnologiya istifadə edir Belə ki, Docker deyilən bütün CS50 ki, tələbələr indi onların Öz Docker qablar Siz tezliklə bütün eşitmək lazımdır ki. Bundan başqa, CS50 server bir çox illər üçün yan cluster, biz Amazon Cloud server istifadə edilmişdir. Biz fərdi çalışan virtual maşın. Bu da biz keçid başlayıb sonra Docker qablar adlı bu şeylər belə ki, bizim proqram bütün indi ki, mükəmməl bir-birindən təcrid. Ki, və daha çox, mənə imkan verir bizim dostlar, Nico və Mano təqdim yükvuran özü. NICOLA Kabar: Thanks, David. Hər kəsə salam. My name Nico və bu Mano edir. Biz yükvuran istəyirik. Biz about-- söhbət etmək olacaq yükvuran uşaqlar bir intro verilməsi, və ümid edirəm ki, ilin sonuna doğru Bu söhbət siz dərk edə bilər Siz həkim istifadə edə bilərsiniz nə qədər Sizin proqram inkişaf oksalat və yerləşdirilməsi. Belə ki, biz real başlamaq olacaq bəzi məlumat ilə tez. Docker bütün haqqında nə təsvir edin. Bu necə işləyir? Necə architected olunur? Mən bəzi demoları məşğul olacaq. Və Mano olacaq izah siz yükvuran istifadə edə bilərsiniz necə və konkret addımlar verilməsi Siz başlamaq bilər. Sizlərin aça bilər əgər mən qiymətləndirirəm olacaq sonuna doğru suallar üçün off. Beləliklə, mən bu müraciət edilə bilər təqdimat ərzində suallar. Beləliklə, biz bir müddət tərk edəcəyik suallar üçün sonuna doğru. Kim var, tez belə ki, yalnız real həqiqətən heç yükvuran çalışmışdır, onu ifa kimi? Awesome. Cool. Great. Belə ki, mən başlamaq üçün gedirəm bəzi tarixi ilə. Belə ki, geri 90-cı və əsasən erkən 2000-ci illərdə, web developers, app developers kimi, Onlar ərizə yerləşdirmək üçün getdiyi metal çılpaq bağlanırdı. Bu, bir server idi. Bu, bir proqram idi. Ənənəvi olaraq, nümunə bir LAMP yığını kimi olacaq, Siz həqiqətən olduğu resursların hovuz yetişdirmək. CPU, yaddaş, disk, şəbəkə, quraşdırma Bunun üzərinə əməliyyat sistemi. Əgər bir şey xidmət edirsinizsə, əgər Siz, həqiqətən, web server qarşılaşdıqda Siz kimi bir şey lazımdır Apache xidmət üçün. Sizin tətbiqi əgər , verilənlər bazası, backhand lazımdır Əgər bir şey yüklemek olardı MySQL kimi, və s. Və run vaxt lazımdır, əgər, PHPs və PHP Python iş var idi. Və belə ki, biz, həqiqətən, idi məqsədilə bu addımları atmağa Sizin tətbiqi up və çalışan almaq üçün. Daha çox compute güc ehtiyac varsa, siz əsasən Ops oğlan zəng etmək üçün idi və ya gal getmək və yeni up rack üçün hardware parça, bu əlaqə, və bu təkrar var proseslər təkrar. Belə ki, bu proses idi nisbətən bahalı. Mütləq çox yavaş idi. Bu səmərəsiz idi. Və hallarda bir çox, sizin hardware az istifadə olunan edilib. Belə ki, mərhum 90-cı və erkən 2000-ci illərdə, hardware virtuallaşdırma rast gəldi. Və burada görə bilərsiniz kimi şəkil etdilər əsasən nə hovuz götürülən edir pulsuz hardware resurslarının və mehriban o xidmət yuxarı qat, bu halda, qonaq əməliyyat sistemi. Və bütün fikir virtual maşın rast gəldi və həqiqətən Cloud kömək biz bu gün bildiyiniz kimi hesablama. Belə ki, demək nə var Çox VMs, çalıştırabilirsiniz olan çox destesi nəzərdə, çox Eyni fiziki maşın tətbiqi. Bu, mütləq ilə kömək proqram yerləşdirilməsi sürəti. Mütləq xərcləri. Siz getmək və sərf yoxdur enerji, vaxt, və resurslar rack daha server daha hesablamaq üçün almaq üçün. Və sürəti həqiqətən gətirilməsi bu resursları çox daha sürətli edir. Great. Beləliklə, biz sağ, dünya aclıq həll? Xeyr, həqiqətən. Belə ki, virtuallaşdırma kimi çox kimi həqiqətən problemi həll, kömək, Bu, həqiqətən təqdim problemlər bir çox. mütləq hypervisor , mürəkkəbliyi bir çox təqdim bu əsas user resursların hovuz. Bu mənada ağır əvvəl ki, Bir əməliyyat sistemi olan disk üç, dörd gigs kimi. İndi, 10 maşın varsa bir hardware ki, çoxaltmaq üçün maşın sayı. Bu, mütləq daha çox bir mənada bahalı hələ lisenziya almaq üçün virtuallaşdırma texnologiyası açıq mənbə deyil, əgər. Lakin, bütün deyil imkan virtuallaşdırma kredit. Nə oldu, çünki bir var çıxarıcı borular və proqram çox çox effektiv edilmişdir texnologiyaları Siz əldə edə tərəfindən necə sürətli Cloud bumu ilə resurslara. Belə ki, bu gün bir app və ya xidmət edə bilərsiniz Aşağıdakı runtimes hər hansı bir istifadə etmək və ya verilənlər bazası. PHP, Python, MySQL, Redis, etajer. Belə ki, mürəkkəbliyi bir çox bu var çıxarıcı borular sayı həqiqətən yetişdirmək üçün bir xidmət. Və ilə yanaşı, bir çox idi əsas resursları və ya infrastruktur növləri yerləşdirmək test və əsasən üçün bu applications istehsal etmək ki, inkişaf edirik. Sizin komanda var, xüsusilə də kimi bu apps üzərində işləyir artıb, bir çox var var mürəkkəbliyi və problemlər ki, təmin etmək üçün gətirildi cycle-- əsasən proqram inkişaf dövrü edir həqiqətən uğurlu. Belə ki, əslində sizin proqram Yerli VM yerli işləyir həmkarı ki, zəmanət vermir eyni nəticələri gözləmək gedir. Və əməliyyatlar komanda olduqda Siz nə alaraq cəlb və istehsal yerləşdirilməsi miqyası da heç bir təminat yoxdur həqiqətən baş verəcək ki,. Belə ki, bu, həqiqətən, ilə qalırıq sual işarələri bir çox big-- problemlər bir çox həqiqətən eyni gün geri-qarşıya gəldi. Və bizə xatırlatdı göndərmə sənayesi. Göndərmə sənayesi Belə ki, malların bir çox idi, kimi sol tərəfində görə bilərsiniz. Və sağ tərəfində, , bir çox, əsasən var yolları o mal gəmi. Və nə bir neçə olur insanlar bir araya gəlib dedi biz standartlaşdırmaq lazımdır biz, həqiqətən, o mal gəmi. Və bumu var intermodal göndərmə konteyner. Belə ki, onlar ən çox qəbul etdi konteyner üçün ümumi ölçüləri. Necə onları idarə etmək. Dəqiq nə üsul lazımdır onları yük və onlara boşaltmaq üçün. Ona görə də, həqiqətən göndərmə sənayesi kömək etdi. İndi artıq 90% diqqət nəql qlobal o qablar istifadə olunur. Və mütləq azalır xərcləri, eləcə də göndərmə səbəbiylə ziyan. Beləliklə, biz eyni model və biz iki app inkişaf proqram tətbiq mənada memarlıq, ki containerization Bir səviyyədə up virtuallaşdırma etdi. Belə ki, əvəzinə bunu hardware səviyyədə, bir əməliyyat daha çox oldu sistem səviyyəsində virtuallaşdırma. Və biz hər verərək bunu öz yüngül tətbiqi, təcrid runnable, və portativ, ən əsası, bir yol həqiqətən paketi Bu run lazımdır hər şey. Anywhere bu davam edə bilər. Belə ki, asılı olmayaraq, siz onu çalışan edirsinizsə yerli dev mühit, istehsal ətraf mühit, sizin quruluşda və ya test. Olursa olsun əsas nə infrastruktur var Bir funksional iş app idi. Belə ki, əsasən dəqiq nə var konteynerlər bu problemin yoxdur. Onlar onu müraciət belə şəkildə qablaşdırma bu səfərbər ki, təmin edə bilər ki, uğurla yaşayır, heç bir məsələ. Siz olacaq əgər Belə ki, kimi, Bob hələ də OK. Mən deyən alıram nə ilə səhv edirsinizsə, Hesab edirəm ki, hazırlamaq üçün gedirəm. Belə ki, necə Docker özü yoxdur Bu şəkil uyğun? Belə ki, Docker açıq platformadır asanlıqla asanlıqla vurğulamaq, , gəmi qurmaq çalıştırmak üçün, yüngül portativ özünü hər yerdə kifayət qədər app qablar. Bu bir şey almaq əgər Belə ki, müzakirəsi, aşağıdakı edin. Siz app çalışan varsa yerli və onu inkişaf Docker platforma istifadə edərək, gözləmək uğurla səfərbər olunacaq. Nə olursa olsun var əsas infrastruktur. Bir Docker varsa və sonra, konteyner iş kimi uzun bir Docker var kimi digər tərəfə mühərrik Sizin əməliyyat infrastrukturu əgər bu olub, hər hansı Cloud istifadə edir var AWS, və ya Google və ya Microsoft, və ya ictimai Buludlar hər hansı və ya öz Cloud, və ya açıq stack Cloud və ya yerli ətraf mühit. Bir mühərrik varsa, çalışan deməkdir ki, Bu olacaq uğurla səfərbər. Bu çalışan olacaq eyni davranış Siz architected kimi olmalıdır. Biz baxsaq belə ki, mən gedirəm nə həqiqətən vasitəsilə getmək yükvuran əsas komponentləri var. Belə ki, Mühərrikin yükvuran əsasını təşkil edir. Bu beyin məxsusdur. Bu, tikinti, göndərmə orchestrates və yerləşdirilməsi və idarə qablar özləri. Mən Engine nə daxil qazmaq lazımdır ikinci daha ətraflı. Əsasən, Doctor inşa edilmişdir, çünki müştəri server memarlıq ətrafında, belə ilə qarşılıqlı üçün Mühərrikin Bir müştəri bir növ lazımdır. Şəkillər şablonları var olan inşa edilir qablar. Belə ki, images əsasən yalnız statik faylları. Şablonlar və qablar həqiqətən nə edir uzunluğu çalışan ərizə xidmət edir və ya data ilə bir şey bunu. Registry bir problem kimi müraciət edir necə həqiqətən images yaymaq. Belə ki, bir şəkil bölüşmək üçün lazımdır, əgər Siz həmkarı çalışmışdır ki, və ya ops komanda, siz Qeydiyyatın istifadə istifadə edin. Siz açıq mənbə yükləyə bilərsiniz bu versiyası Docker çalışmışdır ki, və qaynaq açın. Yoxsa Docker yardım istifadə edə bilərsiniz, olan Cloud versiyası təkan və orada şəkillər çıxarmaq. Ki, böyük bir şey var. Böyük var, çünki yükvuran ətrafında ekosistem və bu həqiqətən ağır mərkəzi istifadə. Belə ki, burada ümumiləşdirilməsi, bu necə minimalist Docker iş müştəri. Siz, ev sahibi ilə qarşılıqlı Bu halda bu Docker daemons var. Bu Engine kimi eyni şey. Siz nə əmrləri kimi Docker, çəkin run qurmaq. Və Engine özü gedir və o şeyi edir. Belə ki, ya bu ilə qarşılıqlı Registry o images çəkmək üçün və images qat. Siz yerləşdirmək istəyirsinizsə, run olsun qablar, onlara aşağı atmaq, onları öldürmək etajer. Belə ki, bu iş ümumiləşdirir bu komponentlərin bütün. Hər almaq əgər özü komponenti. Belə Engine, yalnız bir daemon var. Bu cür dəstəkləmək üçün oynamaq lazımdır Linux bu çünki Müəyyən Linux kernel xüsusiyyətləri tələb edir. Lakin Windows çalışır Eyni şey bunu. Bu dəstək üçün nəzərdə Windows Server 2016 ilə. Belə ki, yenə vəzifələri mühərrik, və ya, şəkillər yaratmaq üçün edilir. Yükvuran images Pull Hub və ya öz Registry. Bu şəkillər ilə tamamlayın əgər və ya bir yeni şəkillər yaratmaq Siz qeyd o geri itələmək bilər Digər komandalar onları yaymaq. Və çalışırıq yerli ehtiva və konteynerlərin həyat dövrü idarə yerli. Bu HTTP REST API ətrafında inşa edilmişdir. Belə ki, texniki bilərsiniz öz müştəri yazmaq kimi uzun bir çox var HTTP, istifadə kimi standart mexanizm Engine danışmaq və digər xidmətlər bir çox. Və göründüyü burada asılı olmayaraq nə infrastruktur bütün can-- kimi uzun kimi, Bir əməliyyat lazım sistemi, Linux xüsusi. Və Docker Engine quraşdıra bilərsiniz ki, üst və çalışan var və bu, əsasən, orchestrates Bütün bu app bir, iki, və üç faktiki qablar var. Belə ki Engine var. Bayaq qeyd etdiyim kimi, çünki Siz Engine ilə qarşılıqlı lazımdır müştəri var. Amma həqiqətən yüklediğinizde Bu Docker, bu gəmilər. Belə ki, quraşdırılmış olur belə ki, bir ikili var. Və yerli zənglər edə bilərsiniz Sizin Docker Engine. Uzaq Engines ya uzaq zənglər. Bu, HTTP istifadə edir Bayaq qeyd. Adlı GUI müştəri var Yükvuran olan Kitematic. Və mütləq var digər insanlar bir çox olan bir çox qururuq Əsasən həyata GUIs Bəzi HTTP Engine danışmaq çağırır. Yalnız bir nümunə əmrləri. Siz Docker versiyası varsa, bu olardı siz müştəri versiyası göstərmək, eləcə də server versiyası. Siz Docker məlumat deyilsə olacaq bütün informasiya demək neçə qablar çalışan haqqında və ya yaradılmış, siz nə qədər şəkillər, və s və s. Burada yanında var son box, mən doktoru run var. Belə ki, mən, həqiqətən, Ben necə konteyner yaradılması. Mən Hello World echo üçün verirəm və ikinci və etajer üçün yatmaq. Və siz görə bilərsiniz nəticə. Belə ki, davam edən var. Və Linux ps bənzər, siz görə bilərsiniz Bu halda bütün proseslər və, bütün çalışan qablar. Bu bir istinadən geri konteyner Mən yalnız yaratmışdır. Belə ki, bu, çünki həqiqətən vacibdir kimi, bir az çaşdırıcı ola bilər. Belə ki, images read-yalnız faylları toplanması, sağ? Onlar bizim konteyner əsaslanır edir. Lakin onlar yalnız oxumaq yalnız edirik. Belə ki, bir baza image ilə başlamaq. Bu, belə ki, OS kimi taklit üçün çalışır Ubuntu, CentOS, etajer baza image. Və sonra üst tikinti başlayın ki, müəyyən təbəqələrinin ki, təşkil edəcək son image, son burada nəticələnir. Və bu qat hər bir valideyn şəkil olmalıdır Bu zaman istinadlar ki, həqiqətən yaratmaq istəyir. Onlar mənada, dəyişməz var onlar edirik, çünki oxumaq yalnız ki, Siz, həqiqətən, bilməz onlara dəyişikliklər etmək. Siz yaratmaq üçün istifadə edə bilərsiniz bir resim olan konteyner olan bütün sonrakı zəng edəcək altına tələb olunan images. Siz dəyişiklik edə bilər fərqli bir qat, Mən lazımdır bir rewrite qat var ikinci haqqında danışmaq. Lakin həmin qat hər dəyişib heç vaxt. Əsasən images bir şey istifadə Union sistemi, UFS Fayl çağırıb. Və müxtəlif storage var Bu texnologiya istifadə backends. Və nə o deməkdir ki, bu ki, ayrı fayl sistemi bir araya gətirir onlara kimi baxmaq üçün. Belə ki, siz, həqiqətən bilərsiniz bir proqram perspektiv, Siz onu göstərir ki baxımından üst var bütün müxtəlif fayl sistemi lazım ki, proqram çalıştırmak üçün. Lakin onlar bu, həqiqətən istəyirik, Onlar ayrı-ayrı yerlərdə həqiqətən istəyirik və tərəfindən istifadə olunur eləcə də digər qablar. Burada görə bilərsiniz ki, biz daemon image ilə başlamaq əgər sonra baza image, və Biz getmək və [et? Emacs?] və sonra bir qat var. Və sonra Apache əlavə edin. Ki, bir qat var. Və sonra biz sərf ki, konteyner. Bu şəkillər hər həmin qat hər, fərqli və ola bilər digər qablarda yeniden. Siz özləri qablar baxsaq, onlar elə VM kimi kimi istəyirik lakin eyni zamanda müalicə. Belə ki, onlar yoxdur, texniki, Onların altında tam əməliyyat sistemi. Onlar bir kernel istifadə host əməliyyat sistemi. Və onlar üst qurmaq. Onlar baxmaq necə taklit. Onlar kök fayl təqlid əməliyyat sistemi sistemi. Lakin onlar həqiqətən təkrarlanmağa olunur. Belə ki, əvəzinə dəyişməz qat olan, konteyner son qat, özü, bir read-yazmaq qat var. Bu da proseslərin çalışır Sizin tətbiqi. Və bu əsas qat asılıdır. Hər konteyner edir bir görüntü yaradılmış. Və image bir ola bilər qat və ya multilayer image. Və mən burada qeyd etmək istəyirəm , Docker ağır istifadə edir ki, və ya Copy-On-Write mexanizmi əsaslanır. Belə ki, deyil, əgər, həqiqətən, ki, konteyner dəyişikliklər edilməsi, əlavə yer almaq niyyətində deyil. Belə ki, əsasən necə var bir Copy-On-yaz ümumiləşdirir. Bu, mütləq sürətləndirmək olacaq konteyner açılış vaxtı. Siz edilməsi deyilik, çünki konteyner dəyişikliklər Bu artıq nə istifadə edir. Belə ki, bu, həqiqətən çalışır. Bir hissəsi, indi, kimi ən azı iki əsas kernel istifadə Xüsusiyyətlər. Və əsasən nə deyil təcrid səviyyədə yaradılmışdır konteynerlərin özləri üçün. Həmin funksiyalar namespaces və cgroups. Belə ki, namespaces üçün bir yol var , təcrid resursları yaratmaq belə konteyner daxilində ki, yalnız müəyyən resurslarının bilərsiniz. Belə şəbəkə interfeys kimi və ya müəyyən istifadəçilər və ya etajer. Və o yalnız görünən və yalnız konteyner ərzində əlçatan. Digər tərəfdən məhdudiyyətlər Cgroup necə o resurslardan istifadə. CPU, yaddaş, və disk. Siz, mən getmək bilər o, həqiqətən, demək by-- hazırlanmışdır xüsusiyyətləri Onlar Linux kernel hissəsi etdiyiniz. Belə ki, onlar reinvented deyil və ya yükvuran ilə yeniden. Docker istifadə edir. Nə Doctor həqiqətən etdi burada əslində Orchestrated yaradılması hər konteyner namespaces və cgroups yaradılması bu, belə ki, qablar yaratmaq üçün ridiculously asan bu funksiyalar istifadə edərək. Əlbəttə, mən təsvir kimi əvvəllər, Union Systems Fayl və həqiqətən Copy-On-yaz sürət və disk kömək konteynerlərin istifadə. Və bir dəfə almaq yükvuran ətrafında əlləri, Siz nə qədər sürətli görmək olacaq həqiqətən qablar və gözyaşardıcı qədər fırlatmaq Onlara aşağı. Xahiş edə bilər Belə ki, necə edə bilərsiniz Siz, həqiqətən, images qurmaq? Biz yaradılması prosesi ilə images qurmaq qablar və dəyişikliklərin edilməsi, dəyişdirilməsi Onlara və onlara törətməkdə bir resim olmaq daxil. Belə ki, bir toyuq və Burada yumurta arayış, bütün qablar gəlir, çünki şəkillər və images gəlib törədilmiş qablarda olan, çox hissəsi üçün. Üç seçim vardır images yaratmaq üçün. Mən təsvir etmək üçün gedirəm ilk və son. Siz ya özünüz edə bilərsiniz getmək və konteyner run və bu dəyişikliklər etmək, kimi hər hansı bir VM edəcəyini və ya hər hansı bir əməliyyat sistemi, belə yeni binaries quraşdırma kimi, fayl sistemi və etajer əlavə. Və sonra kimi, çıxmaq Siz orada görə bilərsiniz. Mən konteyner mövcud edirəm. Və sonra mən Docker törətmək edirəm. Mən ki, törətməkdə alıram. Siz burada görə bilərsiniz Yalnız bir UUID və ya ilk 12 UUID bit. UUID və ya bytes. Və sonra mən image zəng edirəm. Belə ki, indi Docker qayğı hər şey qeyd mən etdim və yeni yaratmaq əsasında image. Mən tarball haqqında danışmaq fikrində deyiləm ancaq bir əldə edə bilərsiniz bir yol var bir yaratmaq və ya bir etmək tarballs istifadə qat image. Mən bu barədə danışmaq üçün gedirəm və əsasən bu gün istifadə nə, Dockerfile edir. Hansı texniki ilk yükvuran özü avtomatik addım. Belə ki, Dockerfiles sen şey GitHub repo əməliyyatları bir çox görmək olacaq bu gün. Bu əsasən yalnız bir izah mətn faylı dəqiq necə bir şəkil yaratmaq üçün. Və hər xətti üçün, bu, həqiqətən yaradır konteyner, ki, xətt icra, bir daxil konteyner edib yeni image, və, əsasən, bütün sonrakı əməliyyatlar üçün istifadə son image almaq qədər. Hansı əsasən burada son məqsədə son. Və sonra sonra exec-- yazmaq Dockerfile olan sırf mətn, bir Docker etmək qurmaq və image adı. Və ki, qeyd burada Dockerfile edir. Və mənim image görmək üçün gözləmək bilər Bir şəkil kimi yerli var. Belə ki, yalnız vizual var gedir nə nümunəsidir. Siz baza image ilə başlayın. Siz bir konteyner daxil run baza image özü dəyişdirmək deyil. Lakin əvəzinə yaradır üst qat yeniden siz dəyişikliklər etmək, Siz törətməyi və bu proses qədər təkrar Siz son image almaq. Və bunu, hər bir digər build proses eyni qat istifadə edə bilərsiniz və same-- əsasən Docker o qat önbelleğe alır. Mən eyni edirəm ki, əgər belə proses, lakin əvəzinə PHP quraşdırma, Mən Python quraşdırma alıram. Bu Apache və Ubuntu istifadə etmək olacaq. Yol belə ki, sizin disk istifadə edirik. Bu cache istifadə edir orada mövcud images. son parça Registry, olan sizin images yaymaq necə. Və Bayaq qeyd etdiyim kimi, bu bir Cloud versiyası var, olan Docker Hub edir. Siz getmək və tədqiq edə bilərsiniz əsasən, bir çox Bir ictimai SAS məhsul var ki, Siz hələ, özəl şəkillər ola bilər lakin ictimai images bir çox var. Bu siz, həqiqətən, qeyri-məhdud deyil orada limitsiz ictimai images basın. Bu necə ola bilər deyil Sizin komanda ilə əməkdaşlıq edir. Siz repo siz yalnız onları qeyd edə bilərsiniz və onlar və ya image yükləyə bilərsiniz və onlar yükləyə bilərsiniz. Müzakirəsi ilə kifayət qədər. Kim real sürətli bir demoları görmək istəyir? Oldu. Belə ki, burada var. Siz uşaqlar mənim ekran ca? Oldu. Beləliklə, mən Docker burada çalışan, mən Bu it's-- kontrol edə bilərsiniz versiyası yükvuran çalışan ki. Docker info edə bilərsiniz. Neçə haqqında bütün məlumat edin images onlar və s, və. Docker PS, heç bir şey çalışan var. O zəncirləmə. Beləliklə, mən bunu istəyirəm ilk şey şou Siz asanlıqla bir konteyner çalıştırabilirsiniz necə. Belə ki, gözəllik haqqında Doctor run, bu əgər həqiqətən yerli bir resim tapmaq deyil, default tərəfindən Doctor Hub danışır və orada tapmaq üçün çalışır sizin üçün downloads onu. Belə ki, bir Docker daxildir təbii ki, komanda çəkin. Mən bir Docker run, salam-dünya əgər. Belə ki, ilk gedir onu tapmaq üçün cəhd. Əks halda, burada görə bilərsiniz kimi, yerli tapa bilmədim. Hal-hazırda yalnız iki qat çıxardı ki, şəkil və mən qaçdı. salam dünya yalnız əsasən Siz nə nəticələr. Belə ki, bu asan deyil, bir asan nümunələri. Belə ki, həqiqətən, Mən yalnız qaçdı və konteyner real sürətli xitam. Mən əgər run-- və yolu ilə etmək istəyirsinizsə Mən, bilirsiniz, yalnız, belə ki, vaxt istəyirəm bu üçün lazım necə uzun edir həqiqətən fırlatmaq və ehtiva edir. Biz ms ölçü edirik. Beləliklə, siz edə bilərsiniz nə qədər bu edə bilərsiniz həqiqətən yalnız test kömək, həm də belə yerləşdirilməsi. Belə ki, bir tez qeyd ki, var. Mən növbəti şey edəcəyimiz əslində Mən artıq hazır etdik bir şəkil axır. Belə ki, run Docker. d demək üçün bir bayraq Bu fonda çalışır. Və p müəyyən port verir. Çünki ismarıcları, qablar, təcrid belə ki, dəqiq müəyyən etmək necə onları əldə edə bilərsiniz. Və bu halda, mən Docker deyirəm host bir təsadüfi port xəritəsi ərzində müəyyən limanına konteyner özü. Və burada image-- əsasən inşallah bu doğru biridir. Belə ki, paralel downloads hər yoxdur bu qat burada görə bilərsiniz kimi. Həmin qat edilməsi var Mən inşa end image. Bu ikinci etmək olacaq. Və voiture. Mən yükvuran ps əgər Belə ki, indi mən olmalıdır çalışan bir şey oldu. Mən şəkil ID görməlisiniz Bu ki, off əsaslanır və komanda edam edilib. Və bu daxil olmaq üçün necə əsasən ki, port gedin. Mən bu to-- getmək üçün gedirəm Mən AWS onu çalışan alıram edir. Mən 32769 getmək üçün gedirəm. Oops. Və burada biz gedin. Belə ki, bu, yalnız həqiqətən göstərir ki, bir web service hansı xidmət olunur konteyner. Belə ki, bu olduğunu görə bilərsiniz konteyner a9f edir. Və burada bu konteyner adı. Belə ki, uşaqlar necə tez görə bilərsiniz ki, həqiqətən yalnız çəkmək üçün idi, həm də Bu konteyner yerləşdirmək. İndi növbəti addım üçün Dockerfiles baxmaq və biz, həqiqətən, bilərsiniz yeni şəkillər yaratmaq. Mən yalnız klon almaq getmək üçün gedirəm, bir Dockerfile əvvəllər əsasında nümunə diaqram, Apache və PHP bir. İnşallah Mən repo xatırlayıram. Belə ki, indi mənim depo var. Və görmək olacaq Bu bir çox həqiqətən. Mən ağac bərpa etməyib. Belə ki, əsasən necə görmək olacaq mənbə kodu sənədlər ətrafında bu və sonra Dockerfile necə həqiqətən paketi. Belə ki, yalnız bir nümunə PHP var ki, salam CS50 əks etdirir. Mən bunu almaq istəyirsinizsə Belə ki, Mən yükvuran qurmaq edəcəyik. Mən ilk qurmaq lazımdır. Mən bunu demo_cs50 ad gedirəm. Və siz də bu bir tag lazımdır. Belə ki, bu nöqtə v1 zəng edək. Mən əvvəllər təsvir kimi, Mən bu gün nə edirəm Mən istifadə getmək üçün Docker deyirəm ki, that-- həqiqətən, sorry, mənim pis. Biz bir nəzər etməyib Dockerfile özü. Belə ki, burada yalnız şey eləcə də README faylı index.php və Dockerfile. Belə ki, bir göz at əgər Dockerfile, belə ki, çox oxşar nə Mən əvvəllər təsvir. Bu yalnız bir dəstə var Docker icra addımlar qablar yaradılması və aşağı qoparmaq ilə və [? hesablanması?] Onlara bir şəkil. Və əsasən bilərsiniz see-- [işitilemez] onu burada lakin bu yerli repo edir. Bu getmək və grab index.php olacaq. Belə ki, yalnız mənbə kodu var ki, həqiqətən, sizin tətbiqi hissəsidir. Bütün bu əsasən əməliyyat sistemi santexnika, sağ paketləri almaq və Apache, və PHP, və etajer. Lakin bu, həqiqətən index.php edir və konteyner onu törədən, image. Belə ki, irəli getmək və run əgər aşağıdakı etməklə komanda, Bu, həqiqətən going-- var Bu bir az bilər. Ümid edirəm ki, çox uzun deyil. Beləliklə, siz addımlar bilərsiniz. Mən getmək üçün təşviq evə bu gün və cəhd edin. Və Mano izah edəcək dəqiq ki, yoxdur. Amma bu dəqiq görmək üçün həqiqətən böyük nə pərdə arxasında baş. Amma bu qurmaq üçün ridiculously asandır images yükvuran istifadə edərək, onları yerləşdirmək və. Bu bir az alaraq gözlədiyimdən daha uzun. Nin Səninlə sərin zaman nə görmək edək. Bu addımlar hər Gördüyünüz kimi Dockerfile xətləri təmsil edir. Və bu ki, burada göstərir uğurla image inşa edilmişdir. Mən yükvuran images əgər Belə ki, mən gedirəm Mən yerli bütün şəkilləri görmək. Onlardan biri adlanır mənim istifadəçi adı və image adı, və tag representing-- əsasən bir versiyası tag var. Belə ki, indi almaq istəyirsinizsə Bu, mən yükvuran run etmək. Mən yalnız bir d p etmək istəyirəm. V1 yoxdur. Mən iki ki, indi bilərsiniz qablar, bir çalışan ki, mən yalnız yaradılmış və salam Mən son var Docker biridir. Və burada görə ki, bu bilərsiniz fərqli port təyin. Eyni IP getmək, lakin təyin Belə ki fərqli port-- ümid edirəm ki, yox idi. Belə ki, indi bu proqram Mən yalnız səfərbər edir. Mən dəyişiklik etmək istəyirsinizsə, mən tez mənbə kodu redaktə edə bilərsiniz və aşağıdakı. Nin salam Harvard edək. Belə ki, indi neler baş Mən ki, bir ilə tag gedir version-- oh müxtəlif, bu tag guy-- fərqli bir versiyası ilə. Və olacaq see-- uşaqlar gözləmək nə Bu vaxt eyni miqdarda etmək Bir ikinci dəfə qurmaq və ya deyil? Bütün hüquqlar, və hər kəs nə bilir? Qədər danışın. Auditoriya: [işitilemez] NICOLA Kabar: Bu əsasən biz yalnız sonra addımlardan biri dəyişir. Və buna görə də istifadə etmək olacaq cache bu qat hər istifadə və. Və həqiqətən bəzi var yükvuran qatil xüsusiyyətləri Bu, həqiqətən istifadə necə və reuses alaraq Eyni üçün disk məlumat dəqiq ədəd. Biz eyni şey yoxdur Belə ki, Bu yalnız bir neçə saniyə çəkdi. Biz indi redeploy-- istəyirsinizsə Mən üç qablar olmalıdır. Amma bu bir olunur the-- yeddi bir xidmət. Belə ki, indi üçüncü konteyner var. Hər kəs başa düşmək nə mən yalnız burada idi? Belə ki, indi bu bölüşmək istəyirsinizsə Dostları ilə real sürətli konteyner, Yalnız yükvuran təkan edə bilərsiniz ümid edirəm ki, konteyner adı. Belə ki, indi onu təkan olacaq to-- Mən burada imzalanmış deyiləm. Buna gorə üzr istəyirəm. Amma indi bu aradan fikrində deyiləm. Lakin əsasən ki, bir command yalnız təkan qədər davam edir. Və siz edə olacaq Siz Docker Hub getmək əgər görmək Və siz etdiyiniz daxil bunu görmək mümkün olacaq. Və sonra yalnız bilərsiniz gedir kim qeyd getmək və çəkmək üçün resim istifadə etmək. Onlar istifadə edə bilərsiniz. Ki, inşallah I növ nümayiş nə qədər asan yükvuran ilə işləmək üçün. Mən yalnız gedirəm geri Mano verir. Və o, burada onu almaq olacaq. MANO MARKS: Yaxşı thanks, thanks Nico. Nə olsun? Belə ki, hər şeyi bir mən etmək istəyirdi birlikdə qoyulur niyə bu important-- deyil niyə Docker və nə qablar bir belə var əhəmiyyətli yeni inkişaf, həqiqətən proqram bunu bir yeni yol. Mən əvvəl, mən gedirəm Yalnız bir neçə stats təqdim edir. Mən bu bütün oxumaq fikrində deyiləm. Amma bu necə haqqında bir çox göstərir Məşhur Bu icma edir. core Docker texnologiyaları açıq mənbəyidir. Belə ki Docker Engine, Yarat var, Swarm, digər məhsullarının bir dəstə bütün açıq mənbəyidir. Və biz, nə etdim 1300 ianəçilər deyirlər. Siz baxmaq əgər, indi gördükdə vakansiyalar sayı, son dəfə biz bu barədə 43,000 iş idi, baxdı açılışları xüsusi qeyd yükvuran ilə tanışlıq. Images yüz milyonlarla var Docker Hub nazil edilmişdir. Və, yaxşı, daha çox böyük stats. Maraqlı olanlar üçün, ilk Python yazılmış və sonra Go daxil yenidən. Və yalnız oldu Bu yalnız var mənbə açmaq 2 və 1/2 il üçün azad edilmişdir, ki, 2-ci və 1/2 il deməkdir, biz böyük bir məbləği gördüm artım və əhəmiyyəti icma bu. Və mən danışmaq istəyirəm nə haqqında bir az. Belə ki, yalnız bəzi demək Nico əsas xal, yükvuran hızlı. Bu portativ edir. Bu reproducible edir. Və bir standart mühit yaradır. Və bu mənim pis gündə edir what-- həyata möhür monolitləri slayd nə Bu insanlar kömək edir, hansı proqram təminatı sənayesinin bir çox da bunu açılmış 2000-ci illərin, hərəkət edir bu monolit olan bir applications hər asılılıq olmaq olduğu Bütün app idi əvvəl test , konuşlandırılacak olan Bir haqqinda demək bilər yalnız bir dəfə səfərbər oldu hər üç ay və ya daha çox, daha xidmətinə yönümlü memarlıq və ya componentized müxtəlif növü proqram memarlıq. Və bu imkan memarlıq növü ki, istifadə edə Docker bu üç run inkişaf əsas sahələri olan inkişaf faktiki kodu yazır, kodu test və yerləşdirilməsi. Belə ki, niyə bu vacibdir? Imkan a-- edirsinizsə mənə nümunə verir. Bir web varsa cihaz geliştirici, sen əsasında bir web inkişaf David burada istehsal bazası. Bağışlayın David, mən sizə zəng edirəm. Siz yerləşdirmək istəyirdi bütün şey, siz istədiyiniz ənənəvi altında gözləmək lazımdır monolit proqram inkişaf ətraf mühit, siz gözləmək istiyorum O bazası ilə həyata qədər Siz, həqiqətən, edə bilər əvvəl Sizin veb hər hansı bir dəyişiklik. Siz redeploy etmək istədiyiniz Bunu etmək üçün bütün proqram. Və nə Docker kömək edir siz hər edir müxtəlif komponentləri şəxs iş onlar getmək kimi və yalnız edilməsi, onlara yeniləmə interfeys eyni qalmaq əmin olun. Belə ki, həyata nə insanları keçdikdə var ki, bu kütləvi monolit bunu architected proqram ki, davamlı hər ay səfərbər inteqrasiya və davamlı inkişaf ətraf mühit. İndi bu, yükvuran üçün unikal deyil lakin Docker, o qədər asan edir siz əsasən istəyirik deməkdir daim yerləşdirilməsi. Biz müəssisələrə danışmaq ictimai üzləşdiyi applications yerləşdirilməsi dəfə bir gün, çünki minlərlə onlar yalnız edilməsi dəyəri görmək kiçik dəyişikliklər, və kimi uzun Bu testlər vasitəsilə çalışır kimi, Bu istehsal çıxmaq imkan. Nico həmişə mənə izah edilmişdir daha əvvəl bir çox mühitlərdə, bir standart həyat dövrü konteyner saniyə ölçülür, virtual maşın isə ay ölçülə bilər. Mən bir qədər almaq istəyirdi Mən deyiləm, çünki burada çevirmək təhsil müəssisəsində. Mən necə bir nümunə vermək istədi bu bir təhsil tədqiqat işləri vəziyyət. Belə ki, bir təşkilat var adlı bioboxes. Bioboxes DNT yoxdur tədqiqatçılar üçün təhlili. İndi nə tapdılar idi ki, bir researcher-- və bu deyil hər hansı bir günah researcher-- lakin zaman yerləşən bir tədqiqatçı alqoritm təhlil etmək, Müəyyən bir şəkildə, DNT nümunəsi, onlar proqram yazmaq olardı, bəlkə, ki dərc Başqa bir yerdə GitHub və ya, və onlar aparılmışdır. Yaxşı problem idi o ki, mütləq reproducible deyildi. Məqsədilə Çünki proqram anlamaq, onlar üçün müəyyən olunacaq dəqiq inkişaf mühit ki tədqiqatçı adətən istifadə ki, onların laptop və ya server, və ya məlumat onlar istifadə ki, mərkəzi. Ona görə, bu, çox çətin idi tədqiqat nəticələrini zaman yeniden DNT nümunələri analiz baxmaq incidence-- kimi şeylər infarkt hallarının müqayisə mövcud olan müəyyən gen əsasında, Məsələn, ya xərçəng riski, və ya şeyi digər növ hər hansı. Belə ki, onlar nə əvəzinə oldu Onlar qablar yaratmaq başladı. Və bioboxes.org bilərsiniz, bu, böyük bir təşkilatdır. Və nə onlar onlar istehsal edir qablar araşdırma əsasında. Və kimsə göndərir sonra zaman onların nümunə, onlar çalıştırabilirsiniz. Və bütün mühit var ki, alqoritm çalıştırmak üçün lazım və nəticələr. Onlar istəyirik ki, tapmaq edirik daha çox ehtimal və çox daha tez edə insanlara results. Və əslində, insanların nə edirik DNT öz təhlili çalışan, bioboxes üçün ki, göndərilməsi, və sonra biobox yalnız məlumat alır, sıra qarşı çalışır müxtəlif qablar müxtəlif nəticələri görmək üçün müxtəlif araşdırma əsasında. Belə ki, bir çox güclü yol olan tədqiqatçılar da imkan verir ki, bir instansiya edə bilərsiniz digər insanlar cəhd və yeniden nəticələr. Belə ki, necə başlamaq edirsiniz? Biz də Linux dəstəklənir. Siz yüklemek istəyirsinizsə Belə ki, Linux şey, Siz standart istifadə paketi meneceri yüklemek üçün. Bir Debian istifadə edirsinizsə, bu, apt get var. CentOS yum edir. Fedora Red Hat deyil rpm-- Yadımda deyil. Hər halda, bu bütün var. Biz böyük bir sıra dəstək Linux edir. Siz bu kontrol edə bilərsiniz. Biz də variantları var, belə ki, Mac və ya Windows run bilər. İndi Nico əvvəllər qeyd edib ki, yalnız Linux dəstək verdi. Ki, çünki doğru Linux kernel lazımdır. Lakin, bir virtual maşın çalıştırabilirsiniz. Və nə Docker Toolbox Əgər yükləyə bilərsiniz ki, yoxdur bu ki, virtual maşın verir. Belə ki, yalnız bir sürətli 48 İkinci, mən hesab edirəm, download. Siz yalnız yükvuran axtarış Toolbox, Mac yükləyə və bu hissəsi deyil Əlbəttə, çünki sürətləndi bir download siqnal izləmək istəyir? Standard Mac quraşdırılması, və sonra istəyirik Jerome onun parol qoymaq görmək olacaq. Bu, çox maraqlı deyil. Və sonra quraşdırır alətlər bütün dəstə. Və xüsusilə olacaq bir command line bərpa edin. Və sonra oldu Jerome onun images test. Və sonra bu əsasında, ki, YouTube görə bilərsiniz Nico maraqlı olduğunu düşünür Star Wars, Jimmy Kimmel şou, Mən Ellen düşünürəm. Mən son bir hesab edir ki, bir Ellen şou bir clip. Belə ki, Docker Toolbox baxmayaraq gəlir yalnız Docker Machine artıq. Belə ki, Docker Machine kömək şey Bir virtual qurmaq Windows maşın və ya Windows qutusu və ya Mac Mac tərtib kutuyu və hazırlığını kömək edir, Lakin bu da gəlir Swarm və Yarat, Böyük yardım üçün nəzərdə tutulmuşdur olan Sizin tətbiqi miqyası applications. Idarə etmək istəyirsinizsə, belə ki, qovşaqlarının qruplar, konteynerlərin qruplar, yaradın və Swarm barədə getmək üçün yol var. Və əlbəttə ki, ilə gəlir Docker Mühərrik və Kitematic, olan bu masa üstü GUI edir. Mən də Docker Registry qeyd etmək lazımdır Toolbox daxil deyil ki, lakin o, öz çalıştırmak üçün bir yoldur yükvuran kimi Docker Şəkillər reyestrləri Hub, lakin siz də yalnız istifadə edə bilərsiniz Bunu etmək üçün bir yol kimi Docker Hub. Və süjet twist, siz gördükdə bir konteyner çalışır. Və biz istəyirik necə bizim slaydlar paylayaraq. Bu, bütün təqdim edir həqiqətən HTML slide göyərtə. Və bir çalışan Siz by-- əldə edə bilərsiniz konteyner, NICOLA Kabar: Bəli, belə ki, Mənim Max tam çalışır. Mən ondan təqdim edirəm. Və yalnız sonra Docker etmək Siz Toolbox bərpa edin. Siz yalnız bir yükvuran run edə bilərsiniz və onu almaq, və slaydlar istifadə edin. MANO Marks: Və bu. Belə ki, biz gələn üçün bütün təşəkkür edirik. Və biz suallara cavab xoşbəxt istəyirik. Mən heç kimə əvvəl qeyd etmək lazımdır yarpaqları orada T-shirt var. Bağışlayın heç seyr edən Livestream və ya video bu, lakin biz orada Docker T-shirt var. Və biz Docker tələbələr bilirik, və mənim təcrübəsi, da pulsuzdur geyim kimi professor. Belə ki, gələn üçün bütün təşəkkür edirik. Və Twitter bizi izləyin Istədiyiniz, və ya əgər. Mən qayğı yoxdur. Həmçinin Twitter Docker edin. Bu da maraqlı deyil. Və sonra bu. Docker.com. Təşəkkür edirəm. [Alqış]