1 00:00:00,000 --> 00:00:05,042 >> [Bermain muzik] 2 00:00:05,042 --> 00:00:06,000 DAVID MALAN: Baiklah. 3 00:00:06,000 --> 00:00:07,630 Terima kasih banyak kerana datang. 4 00:00:07,630 --> 00:00:11,850 Ini adalah seminar CS50 pada buruh pelabuhan, yang teknologi yang kita sendiri dan CS50 5 00:00:11,850 --> 00:00:13,392 telah mula menggunakan untuk beberapa waktu sekarang. 6 00:00:13,392 --> 00:00:15,766 Jadi nama saya David Malan, saya mengajar Pengenalan Harvard 7 00:00:15,766 --> 00:00:16,671 Sains Komputer. 8 00:00:16,671 --> 00:00:18,670 Untuk beberapa tahun, kita telah memberi peluang kepada pelajar 9 00:00:18,670 --> 00:00:20,435 boleh dimuat turun klien mesin maya 10 00:00:20,435 --> 00:00:22,134 di mana mereka melakukan set masalah mereka. 11 00:00:22,134 --> 00:00:24,300 Bahawa kita kini telah beralih kepada persekitaran yang Cloud 12 00:00:24,300 --> 00:00:27,396 yang benar-benar menggunakan teknologi ini dipanggil buruh pelabuhan, seperti yang semua CS50 13 00:00:27,396 --> 00:00:29,270 pelajar kini mempunyai mereka bekas buruh pelabuhan sendiri 14 00:00:29,270 --> 00:00:31,180 yang anda tidak lama lagi akan mendengar semua tentang. 15 00:00:31,180 --> 00:00:33,740 >> Selain itu, pada pelayan CS50 kelompok sampingan, selama bertahun-tahun 16 00:00:33,740 --> 00:00:35,290 kita telah menggunakan pelayan Cloud Amazon. 17 00:00:35,290 --> 00:00:37,164 Kami sedang berlari individu mesin maya. 18 00:00:37,164 --> 00:00:40,330 Itu juga, kami telah mula beralih kepada perkara-perkara ini dipanggil bekas buruh pelabuhan 19 00:00:40,330 --> 00:00:43,762 supaya semua permohonan kami kini sempurna diasingkan daripada satu sama lain. 20 00:00:43,762 --> 00:00:46,720 Jadi untuk itu dan banyak lagi, izinkan saya memperkenalkan rakan-rakan kami, Nico dan Mano, 21 00:00:46,720 --> 00:00:48,574 dari buruh pelabuhan sendiri. 22 00:00:48,574 --> 00:00:49,740 NICOLA KABAR: Terima kasih, David. 23 00:00:49,740 --> 00:00:51,410 Hai semua. 24 00:00:51,410 --> 00:00:54,230 Nama saya Nico dan ini adalah Mano. 25 00:00:54,230 --> 00:00:58,260 Kami ini dari buruh pelabuhan. 26 00:00:58,260 --> 00:01:02,240 Kami akan bercakap about-- memberikan anda semua intro kepada buruh pelabuhan, 27 00:01:02,240 --> 00:01:08,100 dan diharapkan, menjelang akhir ceramah ini anda boleh merealisasikan 28 00:01:08,100 --> 00:01:12,890 berapa banyak yang anda boleh menggunakan doktor untuk oxalate pembangunan aplikasi anda 29 00:01:12,890 --> 00:01:14,200 dan penempatan. 30 00:01:14,200 --> 00:01:21,250 >> Jadi, kita akan mulakan sebenar cepat dengan beberapa maklumat latar belakang. 31 00:01:21,250 --> 00:01:22,750 Menggambarkan apa buruh pelabuhan adalah semua tentang. 32 00:01:22,750 --> 00:01:25,490 Bagaimanakah ia berfungsi? 33 00:01:25,490 --> 00:01:27,400 Bagaimana ia architected? 34 00:01:27,400 --> 00:01:29,360 Saya akan melakukan beberapa demo. 35 00:01:29,360 --> 00:01:35,070 Dan Mano akan menjadi menerangkan bagaimana anda boleh menggunakan buruh pelabuhan 36 00:01:35,070 --> 00:01:37,720 dan memberi anda langkah-langkah tertentu bagaimana anda boleh memulakan. 37 00:01:37,720 --> 00:01:41,490 >> Saya akan menghargai jika anda semua boleh memegang padang kerana soalan anda menjelang akhir. 38 00:01:41,490 --> 00:01:46,800 Dengan cara itu, saya mungkin akan menangani mereka soalan sepanjang persembahan. 39 00:01:46,800 --> 00:01:52,150 Oleh itu, kita akan meninggalkan sedikit masa pada akhir untuk soalan. 40 00:01:52,150 --> 00:01:55,170 >> Jadi hanya sebenar cepat, yang mempunyai sebenarnya pernah bekerja di limbungan, 41 00:01:55,170 --> 00:01:56,850 seperti bermain dengannya? 42 00:01:56,850 --> 00:01:58,000 Awesome. 43 00:01:58,000 --> 00:01:58,520 Sejuk. 44 00:01:58,520 --> 00:01:59,817 Yang besar. 45 00:01:59,817 --> 00:02:01,525 Oleh itu, saya akan memulakan yang mempunyai sejarah beberapa. 46 00:02:01,525 --> 00:02:04,350 47 00:02:04,350 --> 00:02:09,820 Jadi kembali dalam 90-an dan awal tahun 2000, pada dasarnya 48 00:02:09,820 --> 00:02:16,940 sebagai pemaju web, pemaju aplikasi, apabila mereka pergi untuk menggunakan aplikasi 49 00:02:16,940 --> 00:02:19,350 ia terikat kepada melahirkan logam. 50 00:02:19,350 --> 00:02:20,860 Ia adalah salah satu pelayan. 51 00:02:20,860 --> 00:02:22,870 Ia adalah satu permohonan. 52 00:02:22,870 --> 00:02:25,260 >> Secara tradisinya, contoh akan menjadi seperti timbunan LAMP, 53 00:02:25,260 --> 00:02:30,630 di mana anda sebenarnya terpaksa membawa kumpulan sumber. 54 00:02:30,630 --> 00:02:37,110 CPU, memori, cakera, rangkaian, memasang sistem operasi di atas itu. 55 00:02:37,110 --> 00:02:40,060 Jika anda berkhidmat sesuatu, jika anda sebenarnya mempunyai pelayan web, 56 00:02:40,060 --> 00:02:42,470 anda memerlukan sesuatu seperti Apache untuk berkhidmat. 57 00:02:42,470 --> 00:02:47,540 >> Jika permohonan anda memerlukan pangkalan data, pukulan kilas, 58 00:02:47,540 --> 00:02:50,840 anda akan memasang sesuatu seperti MySQL, dan sebagainya. 59 00:02:50,840 --> 00:02:55,910 Dan jika anda memerlukan masa jangka masa, PHPs dan PHP Python kerja di sana. 60 00:02:55,910 --> 00:02:59,480 Dan dengan itu kita sebenarnya terpaksa mengambil langkah-langkah untuk 61 00:02:59,480 --> 00:03:02,060 untuk mendapatkan permohonan anda dan berjalan. 62 00:03:02,060 --> 00:03:08,440 >> Jika anda memerlukan lebih banyak kuasa pengiraan, anda pada dasarnya terpaksa memanggil Lelaki Ops anda 63 00:03:08,440 --> 00:03:16,260 atau gal pergi dan rak sehingga baru sekeping perkakasan, menyambung, 64 00:03:16,260 --> 00:03:19,850 dan anda perlu mengulang proses lagi dan lagi. 65 00:03:19,850 --> 00:03:23,680 Jadi proses ini adalah agak mahal. 66 00:03:23,680 --> 00:03:26,080 Memang sangat perlahan. 67 00:03:26,080 --> 00:03:27,550 >> Ia adalah tidak cekap. 68 00:03:27,550 --> 00:03:33,890 Dan dalam banyak kes, anda perkakasan telah digunakan sepenuhnya. 69 00:03:33,890 --> 00:03:38,830 Jadi, pada lewat tahun 90an dan awal tahun 2000, virtualisasi perkakasan terserempak. 70 00:03:38,830 --> 00:03:42,475 Dan seperti yang anda boleh lihat di sini di gambar, pada dasarnya apa yang mereka lakukan 71 00:03:42,475 --> 00:03:46,390 adalah cabutan kumpulan sumber perkakasan percuma 72 00:03:46,390 --> 00:03:49,680 dan jenis berkhidmat orang untuk lapisan atas, 73 00:03:49,680 --> 00:03:52,360 dalam kes ini, tetamu sistem operasi. 74 00:03:52,360 --> 00:03:54,940 >> Dan idea keseluruhan mesin maya terserempak 75 00:03:54,940 --> 00:03:59,110 dan yang benar-benar membantu Cloud pengkomputeran seperti yang kita tahu hari ini. 76 00:03:59,110 --> 00:04:02,730 Jadi apa yang dimaksudkan adalah anda boleh menjalankan pelbagai VMS, yang 77 00:04:02,730 --> 00:04:06,720 bermakna pelbagai susunan, pelbagai permohonan pada mesin fizikal yang sama. 78 00:04:06,720 --> 00:04:10,570 79 00:04:10,570 --> 00:04:16,440 >> Ini pasti membantu dengan kelajuan penghantaran permohonan. 80 00:04:16,440 --> 00:04:17,629 Sudah pasti dengan perbelanjaan. 81 00:04:17,629 --> 00:04:22,810 Anda tidak perlu pergi dan menghabiskan tenaga, masa dan sumber untuk rak 82 00:04:22,810 --> 00:04:26,210 lebih pelayan untuk mendapatkan lebih pengiraan. 83 00:04:26,210 --> 00:04:30,950 Dan kelajuan sebenarnya membawa sumber mereka sehingga adalah lebih cepat. 84 00:04:30,950 --> 00:04:31,450 Yang besar. 85 00:04:31,450 --> 00:04:34,320 >> Oleh itu, kita diselesaikan kebuluran dunia, bukan? 86 00:04:34,320 --> 00:04:36,390 Tidak, tidak benar-benar. 87 00:04:36,390 --> 00:04:42,410 Jadi, virtualisasi sebanyak itu sebenarnya membantu, mengatasi masalah itu, 88 00:04:42,410 --> 00:04:45,460 ia sebenarnya diperkenalkan banyak cabaran. 89 00:04:45,460 --> 00:04:49,210 Hypervisor pasti memperkenalkan banyak kerumitan, 90 00:04:49,210 --> 00:04:53,820 pengendalian yang mendasari kumpulan sumber. 91 00:04:53,820 --> 00:04:57,910 >> Ia lebih berat dalam erti kata bahawa sebelum anda mempunyai sistem operasi tunggal yang 92 00:04:57,910 --> 00:05:01,830 adalah seperti tiga, empat persembahan pada cakera. 93 00:05:01,830 --> 00:05:04,230 Sekarang, jika anda mempunyai 10 mesin pada perkakasan tunggal 94 00:05:04,230 --> 00:05:09,060 anda perlu untuk membiak bahawa dengan jumlah mesin. 95 00:05:09,060 --> 00:05:11,440 Ia pasti lebih mahal dalam erti kata yang anda masih 96 00:05:11,440 --> 00:05:14,430 perlu mendapatkan lesen untuk teknologi pemayaan 97 00:05:14,430 --> 00:05:18,210 jika ia bukan sumber terbuka. 98 00:05:18,210 --> 00:05:21,120 >> Tetapi, jangan kita mengambil semua kredit daripada virtualisasi. 99 00:05:21,120 --> 00:05:27,530 Oleh kerana apa yang berlaku ialah terdapat banyak susunan dan banyak perisian 100 00:05:27,530 --> 00:05:33,900 teknologi yang membolehkan dengan berapa cepat anda mampu untuk mendapatkan 101 00:05:33,900 --> 00:05:38,040 kepada sumber-sumber dengan ledakan Awan. 102 00:05:38,040 --> 00:05:46,675 >> Jadi, hari ini aplikasi atau perkhidmatan boleh menggunakan mana-mana daripada yang berikut runtimes 103 00:05:46,675 --> 00:05:47,216 atau pangkalan data. 104 00:05:47,216 --> 00:05:50,250 105 00:05:50,250 --> 00:05:56,070 PHP, Python, MySQL, Redis, barang kecil. 106 00:05:56,070 --> 00:05:59,740 Jadi ada banyak kerumitan pada ini beberapa susunan untuk benar-benar membawa 107 00:05:59,740 --> 00:06:02,210 perkhidmatan tunggal. 108 00:06:02,210 --> 00:06:07,300 Dan bersama-sama dengan itu, anda mempunyai banyak sumber asas atau infrastruktur 109 00:06:07,300 --> 00:06:15,210 jenis untuk menguji mengerahkan dan pada dasarnya ambil untuk pengeluaran aplikasi tersebut 110 00:06:15,210 --> 00:06:16,900 bahawa anda sedang membangun. 111 00:06:16,900 --> 00:06:21,950 >> Terutama kerana pasukan anda mempunyai berkembang bekerja pada aplikasi, 112 00:06:21,950 --> 00:06:25,310 ada banyak kerumitan dan cabaran 113 00:06:25,310 --> 00:06:31,660 yang dibawa untuk memastikan bahawa cycle-- pada dasarnya permohonan 114 00:06:31,660 --> 00:06:34,040 kitaran pembangunan, adalah sebenarnya berjaya. 115 00:06:34,040 --> 00:06:40,440 Jadi, hakikat bahawa permohonan anda bekerja secara setempat pada VM tempatan anda 116 00:06:40,440 --> 00:06:47,480 tidak menjamin bahawa rakan sekerja anda akan mengharapkan keputusan yang sama. 117 00:06:47,480 --> 00:06:51,330 >> Dan apabila pasukan operasi adalah terlibat dalam mengambil apa yang anda ada 118 00:06:51,330 --> 00:06:54,480 dan menggunakan dalam pengeluaran skala, juga tidak ada jaminan 119 00:06:54,480 --> 00:06:56,730 bahawa yang sebenarnya akan berlaku. 120 00:06:56,730 --> 00:07:00,900 Jadi ini meninggalkan kita dengan benar-benar big-- banyak tanda soal, 121 00:07:00,900 --> 00:07:07,700 banyak cabaran sebenarnya yang dihadapi begitu juga dalam zaman. 122 00:07:07,700 --> 00:07:12,280 Dan itu mengingatkan kita industri perkapalan. 123 00:07:12,280 --> 00:07:14,280 >> Jadi industri perkapalan mempunyai banyak barang-barang, 124 00:07:14,280 --> 00:07:16,190 seperti yang anda lihat di sebelah kiri. 125 00:07:16,190 --> 00:07:19,840 Dan di sebelah kanan, ada banyak, pada dasarnya, 126 00:07:19,840 --> 00:07:22,160 cara-cara untuk menghantar barang-barang. 127 00:07:22,160 --> 00:07:26,040 Dan apa yang berlaku sebagai pasangan orang datang bersama-sama dan berkata, 128 00:07:26,040 --> 00:07:29,600 kita perlu menyeragamkan bagaimana kita benar-benar menghantar barang-barang. 129 00:07:29,600 --> 00:07:33,280 Dan ledakan, anda mempunyai bekas penghantaran mod. 130 00:07:33,280 --> 00:07:38,970 >> Jadi mereka bersetuju pada yang paling saiz biasa bagi bekas. 131 00:07:38,970 --> 00:07:40,160 Bagaimana untuk mengendalikan mereka. 132 00:07:40,160 --> 00:07:44,560 Apakah kaedah tepat yang anda perlukan untuk memuatkan mereka dan memunggah mereka. 133 00:07:44,560 --> 00:07:49,590 Oleh itu, yang benar-benar membantu industri perkapalan. 134 00:07:49,590 --> 00:07:55,250 Sekarang, lebih daripada 90% tumpuan diangkut di peringkat global menggunakan orang-orang bekas. 135 00:07:55,250 --> 00:08:01,010 Dan yang pasti berkurangan perbelanjaan serta 136 00:08:01,010 --> 00:08:03,400 kerosakan akibat penghantaran. 137 00:08:03,400 --> 00:08:09,660 >> Oleh itu, kita mengambil model yang sama dan kami menggunakan perisian pembangunan dua aplikasi 138 00:08:09,660 --> 00:08:13,080 seni bina, dalam erti kata pengkontenaan yang 139 00:08:13,080 --> 00:08:15,842 mengambil virtualisasi sehingga satu tahap. 140 00:08:15,842 --> 00:08:17,800 Jadi, daripada melakukan itu di peringkat perkakasan, 141 00:08:17,800 --> 00:08:22,060 ia menjadi lebih daripada operasi yang virtualisasi peringkat sistem. 142 00:08:22,060 --> 00:08:26,450 >> Dan kami melakukannya dengan menyediakan setiap permohonan dalam ringan sendiri, 143 00:08:26,450 --> 00:08:31,180 terpencil, runnable, dan mudah alih, yang paling penting, 144 00:08:31,180 --> 00:08:35,049 cara untuk benar-benar pakej segala-galanya yang diperlukan untuk menjalankan. 145 00:08:35,049 --> 00:08:36,100 Di mana-mana ia boleh dijalankan. 146 00:08:36,100 --> 00:08:42,039 Jadi, tidak kira jika anda berjalan di atas persekitaran dev tempatan, pengeluaran anda 147 00:08:42,039 --> 00:08:44,490 alam sekitar, pementasan atau ujian anda. 148 00:08:44,490 --> 00:08:47,700 Tidak kira apa yang mendasari infrastruktur di sana, 149 00:08:47,700 --> 00:08:51,410 anda mempunyai aplikasi bekerja berfungsi. 150 00:08:51,410 --> 00:08:54,100 151 00:08:54,100 --> 00:09:01,800 >> Jadi itulah apa yang pada dasarnya bekas lakukan untuk masalah ini. 152 00:09:01,800 --> 00:09:04,070 Mereka menanganinya dengan pembungkusan dengan cara seperti 153 00:09:04,070 --> 00:09:09,490 yang ia boleh menjamin bahawa ia digunakan berjaya tidak kira di mana ia hidup. 154 00:09:09,490 --> 00:09:12,120 Jadi jika anda akan seperti, Bob ia masih OK. 155 00:09:12,120 --> 00:09:17,860 Jika anda keliru dengan apa yang saya katakan, Saya akan menerangkan lebih lanjut mengenai perkara itu. 156 00:09:17,860 --> 00:09:20,900 >> Jadi bagaimana buruh pelabuhan sendiri muat dalam gambar ini? 157 00:09:20,900 --> 00:09:26,335 Jadi buruh pelabuhan adalah platform terbuka dengan mudah, menekankan dengan mudah, 158 00:09:26,335 --> 00:09:30,500 untuk membina kapal, berlari, ringan diri mudah alih 159 00:09:30,500 --> 00:09:33,440 bekas aplikasi yang mencukupi di mana sahaja. 160 00:09:33,440 --> 00:09:37,660 Jadi, jika anda mengambil sesuatu dari ini bercakap, sila ambil yang berikut. 161 00:09:37,660 --> 00:09:40,980 >> Jika anda mempunyai aplikasi anda berjalan negara dan anda memajukannya 162 00:09:40,980 --> 00:09:45,930 dalam menggunakan platform buruh pelabuhan, mengharapkan ia akan berjaya dikerahkan. 163 00:09:45,930 --> 00:09:49,380 Tidak kira apa yang infrastruktur asas. 164 00:09:49,380 --> 00:09:53,830 Jadi, jika anda mempunyai buruh pelabuhan bekas dan ia bekerja, maka 165 00:09:53,830 --> 00:09:58,130 selagi ada buruh pelabuhan yang enjin pada side-- yang lain 166 00:09:58,130 --> 00:10:02,190 jika infrastruktur operasi anda menggunakan apa-apa Cloud, sama ada ia 167 00:10:02,190 --> 00:10:06,680 adalah AWS, atau Google atau Microsoft, atau mana-mana Awan awam, 168 00:10:06,680 --> 00:10:10,010 atau Cloud anda sendiri, atau stack terbuka anda Cloud, atau alam sekitar tempatan anda. 169 00:10:10,010 --> 00:10:11,970 >> Jika anda mempunyai enjin berjalan, yang artinya 170 00:10:11,970 --> 00:10:14,537 ia akan menjadi berjaya dikerahkan ke sana. 171 00:10:14,537 --> 00:10:16,620 Ia akan berjalan tepat tingkah laku yang sama 172 00:10:16,620 --> 00:10:21,480 seperti yang anda architected ia menjadi. 173 00:10:21,480 --> 00:10:26,080 Jadi, jika kita melihat at-- Saya akan melalui apa yang sebenarnya 174 00:10:26,080 --> 00:10:29,160 berada di dalam komponen utama buruh pelabuhan. 175 00:10:29,160 --> 00:10:31,060 >> Jadi Engine adalah teras buruh pelabuhan. 176 00:10:31,060 --> 00:10:32,770 Ia adalah otak ini. 177 00:10:32,770 --> 00:10:39,360 Ia orchestrates bangunan, perkapalan, dan melaksana dan menguruskan 178 00:10:39,360 --> 00:10:41,570 bekas sendiri. 179 00:10:41,570 --> 00:10:45,160 Saya akan menggali ke dalam apa Engine tidak butir lanjut dalam satu saat. 180 00:10:45,160 --> 00:10:47,740 181 00:10:47,740 --> 00:10:51,720 Pada asasnya, kerana Doktor telah dibina sekitar seni bina pelayan pelanggan, 182 00:10:51,720 --> 00:10:56,630 jadi untuk berinteraksi dengan Enjin anda memerlukan beberapa jenis pelanggan. 183 00:10:56,630 --> 00:11:01,200 >> Imej adalah template dalam yang bekas dibina dari. 184 00:11:01,200 --> 00:11:06,800 Supaya imej pada dasarnya fail hanya statik. 185 00:11:06,800 --> 00:11:08,740 Templat dan bekas sebenarnya apa yang 186 00:11:08,740 --> 00:11:12,280 sedang berjalan pada masa jalanan yang berkhidmat permohonan anda 187 00:11:12,280 --> 00:11:15,150 atau melakukan sesuatu dengan data. 188 00:11:15,150 --> 00:11:19,020 >> Pendaftaran ditujukan sebagai masalah bagaimana anda sebenarnya pembekalan imej. 189 00:11:19,020 --> 00:11:23,230 Jadi, jika anda perlu berkongsi imej anda bekerja ke rakan sekerja anda 190 00:11:23,230 --> 00:11:27,220 atau kepada pasukan ops, anda menggunakannya menggunakan Registry. 191 00:11:27,220 --> 00:11:31,720 Anda boleh memuat turun sumber terbuka versi mengatakan bahawa buruh pelabuhan bekerja pada 192 00:11:31,720 --> 00:11:33,150 dan membuka sumber. 193 00:11:33,150 --> 00:11:38,040 >> Atau anda boleh menggunakan buruh pelabuhan bantuan, yang merupakan versi Awan 194 00:11:38,040 --> 00:11:40,130 untuk menolak dan tarik imej di luar sana. 195 00:11:40,130 --> 00:11:41,160 Itu satu perkara yang besar. 196 00:11:41,160 --> 00:11:44,520 Kerana ada yang besar ekosistem sekitar buruh pelabuhan dan ia 197 00:11:44,520 --> 00:11:48,960 benar-benar banyak menggunakan hub. 198 00:11:48,960 --> 00:11:59,780 >> Jadi untuk meringkaskan sini, ini adalah bagaimana minimalis buruh pelabuhan pelanggan aliran kerja. 199 00:11:59,780 --> 00:12:04,040 Anda berinteraksi dengan tuan rumah, dalam kes ini ia adalah daemon buruh pelabuhan. 200 00:12:04,040 --> 00:12:06,490 Ia adalah perkara yang sama seperti enjin. 201 00:12:06,490 --> 00:12:09,690 Anda boleh melakukan perintah seperti Buruh pelabuhan membina, tarik, jangka. 202 00:12:09,690 --> 00:12:14,280 Dan enjin itu sendiri pergi dan melakukan perkara-perkara. 203 00:12:14,280 --> 00:12:18,010 >> Jadi, sama ada ia berinteraksi dengan Pendaftaran menarik imej-imej 204 00:12:18,010 --> 00:12:19,670 dan lapisan imej. 205 00:12:19,670 --> 00:12:25,030 Sama ada jika anda mahu untuk menggunakan, menjalankan bekas, membunuh mereka, membuang mereka ke bawah, 206 00:12:25,030 --> 00:12:25,730 barang kecil. 207 00:12:25,730 --> 00:12:32,190 Jadi ini meringkaskan aliran kerja semua komponen ini. 208 00:12:32,190 --> 00:12:34,710 >> Jadi, jika anda mengambil setiap komponen dengan sendirinya. 209 00:12:34,710 --> 00:12:37,690 Jadi enjin, ia hanya daemon. 210 00:12:37,690 --> 00:12:40,800 Ia jenis akan bermain untuk menyokong pada Linux kerana ia tidak 211 00:12:40,800 --> 00:12:44,380 memerlukan ciri-ciri tertentu kernel Linux. 212 00:12:44,380 --> 00:12:48,820 Tetapi Windows berfungsi untuk melakukan perkara yang sama. 213 00:12:48,820 --> 00:12:53,720 Ia sepatutnya disokong oleh Windows Server 2016. 214 00:12:53,720 --> 00:13:01,500 >> Jadi, sekali lagi, tanggungjawab dengan enjin adalah untuk, atau untuk, membina imej. 215 00:13:01,500 --> 00:13:05,340 Tarik imej daripada buruh pelabuhan Hub atau Pejabat Pendaftaran anda sendiri. 216 00:13:05,340 --> 00:13:07,840 Jika anda selesai dengan imej-imej atau anda membuat imej baru, 217 00:13:07,840 --> 00:13:14,770 anda boleh menolak mereka kembali ke registry mengedarkan ke pasukan lain. 218 00:13:14,770 --> 00:13:18,300 >> Dan cuba untuk membendungnya dalam negara dan menguruskan kitaran bekas hidup 219 00:13:18,300 --> 00:13:19,260 dalam negara. 220 00:13:19,260 --> 00:13:22,010 Ia dibina sekitar HTTP REST API. 221 00:13:22,010 --> 00:13:24,480 Jadi secara teknikal anda boleh menulis pelanggan anda sendiri 222 00:13:24,480 --> 00:13:31,650 selagi ia menggunakan HTTP, yang adalah sangat mekanisme standard untuk bercakap dengan Engine 223 00:13:31,650 --> 00:13:33,110 dan banyak perkhidmatan lain. 224 00:13:33,110 --> 00:13:35,780 Dan anda boleh lihat dari di sini bahawa tidak kira 225 00:13:35,780 --> 00:13:39,010 apa infrastruktur adalah, selagi anda can-- semua 226 00:13:39,010 --> 00:13:42,170 yang anda perlukan adalah operasi yang sistem, Linux secara khusus. 227 00:13:42,170 --> 00:13:45,460 >> Dan anda boleh memasang buruh pelabuhan Engine di atas itu dan telah ia berjalan 228 00:13:45,460 --> 00:13:48,970 dan ia orchestrates, pada dasarnya, semua aplikasi satu, dua, 229 00:13:48,970 --> 00:13:51,530 dan tiga orang bekas yang sebenar. 230 00:13:51,530 --> 00:13:53,990 Jadi itulah Engine. 231 00:13:53,990 --> 00:13:58,040 Seperti yang saya nyatakan sebelum ini kerana anda perlu berinteraksi dengan enjin, 232 00:13:58,040 --> 00:13:59,200 ada pelanggan. 233 00:13:59,200 --> 00:14:03,180 >> Tetapi sebenarnya apabila anda memasang Buruh pelabuhan, ia kapal dengannya. 234 00:14:03,180 --> 00:14:06,110 Jadi ia mendapat dipasang, maka ia adalah satu binari tunggal. 235 00:14:06,110 --> 00:14:11,830 Dan anda boleh melakukan panggilan tempatan untuk enjin buruh pelabuhan anda. 236 00:14:11,830 --> 00:14:14,040 Atau panggilan jauh untuk Engines jauh. 237 00:14:14,040 --> 00:14:16,600 238 00:14:16,600 --> 00:14:19,590 Ia menggunakan HTTP, kerana Saya nyatakan sebelum ini. 239 00:14:19,590 --> 00:14:24,200 Ada pelanggan GUI dipanggil Kitematic dari buruh pelabuhan. 240 00:14:24,200 --> 00:14:26,390 Dan ada pasti banyak orang lain 241 00:14:26,390 --> 00:14:29,740 yang sedang membina banyak GUI yang pada dasarnya melaksanakan 242 00:14:29,740 --> 00:14:32,980 beberapa HTTP panggilan untuk bercakap dengan Engine. 243 00:14:32,980 --> 00:14:35,920 244 00:14:35,920 --> 00:14:39,280 >> Hanya beberapa arahan sampel. 245 00:14:39,280 --> 00:14:44,620 Jika anda melakukan versi buruh pelabuhan, ia akan menunjukkan kepada anda versi pelanggan dan juga 246 00:14:44,620 --> 00:14:47,030 versi pelayan. 247 00:14:47,030 --> 00:14:49,500 Jika anda melakukan maklumat buruh pelabuhan ia akan memberitahu anda semua maklumat yang 248 00:14:49,500 --> 00:14:54,300 berapa ramai bekas menjalankan atau diwujudkan, berapa banyak imej yang anda ada, 249 00:14:54,300 --> 00:14:56,530 dan sebagainya dan sebagainya. 250 00:14:56,530 --> 00:15:01,850 >> Di sini saya mempunyai, di sebelah kotak lepas, saya mempunyai Doktor jangka. 251 00:15:01,850 --> 00:15:04,970 Jadi itulah bagaimana saya sebenarnya mewujudkan bekas. 252 00:15:04,970 --> 00:15:08,960 Dan saya memberi kepada echo Hello World dan tidur untuk kali kedua dan barang kecil. 253 00:15:08,960 --> 00:15:12,830 Dan anda boleh melihat hasil. Jadi ia berterusan. 254 00:15:12,830 --> 00:15:16,930 Dan sama dengan Linux ps, anda boleh melihat semua proses dan, dalam hal ini, 255 00:15:16,930 --> 00:15:18,540 semua bekas berjalan. 256 00:15:18,540 --> 00:15:23,430 Merujuk kembali ini seseorang kepada bekas yang saya buat. 257 00:15:23,430 --> 00:15:27,560 >> Jadi, ini adalah benar-benar penting kerana, seperti, ia boleh menjadi agak mengelirukan. 258 00:15:27,560 --> 00:15:33,050 Jadi imej adalah baca sahaja koleksi fail, bukan? 259 00:15:33,050 --> 00:15:37,000 Mereka adalah apa bekas kita adalah berdasarkan. 260 00:15:37,000 --> 00:15:40,340 Tetapi mereka hanya baca sahaja. 261 00:15:40,340 --> 00:15:44,330 Jadi, anda bermula dengan imej asas. 262 00:15:44,330 --> 00:15:50,180 Ia cenderung untuk meniru OS-seperti, jadi Ubuntu, CentOS, imej asas barang kecil. 263 00:15:50,180 --> 00:15:53,990 Dan kemudian anda mula membina di atas itu, lapisan tertentu, yang akan membentuk 264 00:15:53,990 --> 00:16:00,010 imej akhir anda, keputusan akhir di sini. 265 00:16:00,010 --> 00:16:03,220 >> Dan setiap orang-orang lapisan harus mempunyai imej ibu bapa 266 00:16:03,220 --> 00:16:06,690 bahawa ia merujuk apabila ia sebenarnya mahu mewujudkan. 267 00:16:06,690 --> 00:16:09,922 Mereka tidak berubah, dalam erti kata itu kerana mereka baca sahaja, 268 00:16:09,922 --> 00:16:11,630 anda tidak boleh benar-benar membuat perubahan kepada mereka. 269 00:16:11,630 --> 00:16:17,540 Anda boleh menggunakan mereka untuk mewujudkan bekas dari imej, yang 270 00:16:17,540 --> 00:16:23,530 akan memanggil semua yang berikutnya imej yang diperlukan di bawahnya. 271 00:16:23,530 --> 00:16:26,400 >> Anda boleh membuat perubahan kepada lapisan yang berbeza, 272 00:16:26,400 --> 00:16:28,810 ia adalah satu lapisan menulis semula saya akan bercakap tentang dalam satu saat. 273 00:16:28,810 --> 00:16:31,350 Tetapi setiap daripada mereka lapisan tidak pernah berubah. 274 00:16:31,350 --> 00:16:34,300 275 00:16:34,300 --> 00:16:38,670 Pada asasnya imej menggunakan sesuatu dipanggil Kesatuan Fail Sistem, UFS. 276 00:16:38,670 --> 00:16:42,280 Dan ada simpanan yang berbeza hujung belakang yang menggunakan teknologi ini. 277 00:16:42,280 --> 00:16:49,430 Dan apa yang bermakna adalah bahawa ia membawa bersama-sama sistem fail yang berbeza 278 00:16:49,430 --> 00:16:51,190 untuk membuat mereka kelihatan seperti satu. 279 00:16:51,190 --> 00:16:54,460 >> Jadi, anda boleh sebenarnya, dari perspektif permohonan, 280 00:16:54,460 --> 00:16:59,570 anda mempunyai bahagian atas pandangan bahawa rancangan semua sistem fail yang berbeza diperlukan 281 00:16:59,570 --> 00:17:01,120 bagi aplikasi yang berjalan. 282 00:17:01,120 --> 00:17:04,400 Tetapi mereka sebenarnya, mengenai perkara ini, mereka benar-benar di tempat-tempat yang berasingan 283 00:17:04,400 --> 00:17:06,410 dan digunakan oleh bekas lain juga. 284 00:17:06,410 --> 00:17:09,569 285 00:17:09,569 --> 00:17:14,410 >> Jadi seperti yang anda boleh lihat di sini bahawa jika kita bermula dengan imej daemon 286 00:17:14,410 --> 00:17:18,619 sebagai imej asas, dan kemudian kita masuk dan menambah [? emacs?] 287 00:17:18,619 --> 00:17:20,720 dan maka itulah lapisan lain. 288 00:17:20,720 --> 00:17:21,916 Dan kemudian menambah Apache. 289 00:17:21,916 --> 00:17:22,790 Itulah lapisan lain. 290 00:17:22,790 --> 00:17:25,470 Dan kemudian kita menghabiskan bekas itu. 291 00:17:25,470 --> 00:17:29,760 Setiap satu daripada imej-imej, setiap orang-orang lapisan, 292 00:17:29,760 --> 00:17:35,530 adalah berbeza dan boleh menjadi semula oleh bekas lain. 293 00:17:35,530 --> 00:17:40,070 >> Jika anda melihat bekas diri mereka sendiri, mereka entah bagaimana seperti VM-suka, 294 00:17:40,070 --> 00:17:41,930 tetapi tidak dirawat masa yang sama. 295 00:17:41,930 --> 00:17:49,180 Jadi, mereka tidak mempunyai, secara teknikal, sistem operasi penuh di bawahnya. 296 00:17:49,180 --> 00:17:52,630 Mereka menggunakan kernel tunggal sistem operasi tuan rumah. 297 00:17:52,630 --> 00:17:54,440 Dan mereka membina di atas itu. 298 00:17:54,440 --> 00:17:56,250 Mereka meniru dalam bagaimana mereka melihat. 299 00:17:56,250 --> 00:18:00,710 Mereka meniru fail akar mereka sistem sistem operasi. 300 00:18:00,710 --> 00:18:04,930 Tetapi mereka benar-benar tidak mereplikasi. 301 00:18:04,930 --> 00:18:12,080 >> Jadi, bukannya mempunyai lapisan tidak berubah, lapisan terakhir, yang merupakan bekas 302 00:18:12,080 --> 00:18:14,690 sendiri, ia adalah satu lapisan baca-tulis. 303 00:18:14,690 --> 00:18:17,350 Yang juga menjalankan proses permohonan anda. 304 00:18:17,350 --> 00:18:23,530 Dan ia bergantung kepada lapisan asas. 305 00:18:23,530 --> 00:18:26,730 Setiap bekas adalah dicipta daripada imej. 306 00:18:26,730 --> 00:18:32,450 Dan imej yang boleh menjadi satu lapisan atau imej multilayer. 307 00:18:32,450 --> 00:18:37,200 >> Dan saya mahu ambil perhatian di sini yang banyak menggunakan buruh pelabuhan, 308 00:18:37,200 --> 00:18:40,370 atau berasaskan kepada mekanisme Copy-On-Tulis. 309 00:18:40,370 --> 00:18:44,350 Supaya, sebenarnya, jika anda tidak membuat perubahan kepada bekas, 310 00:18:44,350 --> 00:18:45,930 ia tidak akan mengambil ruang tambahan. 311 00:18:45,930 --> 00:18:49,600 Jadi itulah pada asasnya bagaimana anda merumuskan Salinan-On-Tulis. 312 00:18:49,600 --> 00:18:53,820 Ia akan pasti mempercepatkan masa boot untuk bekas. 313 00:18:53,820 --> 00:18:56,300 Kerana jika anda tidak membuat perubahan kepada bekas, 314 00:18:56,300 --> 00:18:57,800 ia menggunakan apa yang sudah ada. 315 00:18:57,800 --> 00:19:01,130 316 00:19:01,130 --> 00:19:02,955 >> Jadi, bagaimana ia sebenarnya berfungsi. 317 00:19:02,955 --> 00:19:06,920 318 00:19:06,920 --> 00:19:14,240 Sebahagian daripada ia seperti, sekarang, ia menggunakan sekurang-kurangnya dua inti utama 319 00:19:14,240 --> 00:19:14,820 ciri-ciri. 320 00:19:14,820 --> 00:19:17,660 Dan itu adalah pada dasarnya apa dicipta bahawa tahap pengasingan 321 00:19:17,660 --> 00:19:19,550 bagi bekas sendiri. 322 00:19:19,550 --> 00:19:22,290 Ciri-ciri tersebut adalah ruang nama dan cgroups. 323 00:19:22,290 --> 00:19:29,870 Jadi ruang nama adalah satu cara untuk mewujudkan sumber terpencil, 324 00:19:29,870 --> 00:19:36,290 supaya dalam bekas itu sendiri, hanya anda boleh melihat sumber-sumber tertentu. 325 00:19:36,290 --> 00:19:40,030 Seperti antara muka rangkaian atau pengguna tertentu atau barang kecil. 326 00:19:40,030 --> 00:19:44,160 >> Dan orang-orang hanya boleh dilihat dan hanya boleh diakses dalam bekas. 327 00:19:44,160 --> 00:19:48,290 Cgroup pada had sampingan yang lain bagaimana anda menggunakan sumber-sumber. 328 00:19:48,290 --> 00:19:50,950 CPU, memori, dan cakera. 329 00:19:50,950 --> 00:19:53,900 Apabila anda boleh pergi, saya bererti mereka yang sebenarnya 330 00:19:53,900 --> 00:19:57,410 ciri-ciri yang telah dibangunkan oleh- mereka adalah sebahagian daripada kernel Linux. 331 00:19:57,410 --> 00:20:01,800 Jadi mereka tidak mencipta semula oleh atau dicipta semula oleh buruh pelabuhan. 332 00:20:01,800 --> 00:20:03,770 Buruh pelabuhan menggunakan mereka. 333 00:20:03,770 --> 00:20:05,560 >> Apa Doktor benar-benar telah di sini ialah sebenarnya ia 334 00:20:05,560 --> 00:20:08,680 yang mewujudkan Dirancang ruang nama untuk setiap bekas 335 00:20:08,680 --> 00:20:13,320 dan mewujudkan cgroups supaya ia sungguh mudah untuk membuat bekas 336 00:20:13,320 --> 00:20:14,870 menggunakan ciri-ciri tersebut. 337 00:20:14,870 --> 00:20:22,910 Sudah tentu, seperti yang saya diterangkan sebelum ini, Kesatuan Fail Sistem dan Salinan-On-Tulis benar-benar 338 00:20:22,910 --> 00:20:26,810 membantu kelajuan dan cakera penggunaan bekas. 339 00:20:26,810 --> 00:20:28,917 >> Dan apabila anda mendapat anda tangan sekitar buruh pelabuhan, 340 00:20:28,917 --> 00:20:32,000 anda akan melihat berapa cepat ia adalah untuk sebenarnya berputar ke bekas dan air mata 341 00:20:32,000 --> 00:20:32,500 mereka ke bawah. 342 00:20:32,500 --> 00:20:36,060 343 00:20:36,060 --> 00:20:40,230 Jadi, jika anda mungkin bertanya, bagaimana boleh anda benar-benar membina imej? 344 00:20:40,230 --> 00:20:45,940 Kami membina imej melalui proses mewujudkan bekas dan membuat perubahan, mengubah 345 00:20:45,940 --> 00:20:50,220 mereka, dan melakukan mereka ke dalam menjadi imej. 346 00:20:50,220 --> 00:20:54,330 >> Jadi ia adalah ayam dan rujukan telur di sini, 347 00:20:54,330 --> 00:20:57,350 kerana semua bekas datang daripada imej dan imej datang 348 00:20:57,350 --> 00:21:00,270 daripada bekas dilakukan, untuk kebanyakan bahagian. 349 00:21:00,270 --> 00:21:03,830 Terdapat tiga pilihan untuk membuat gambar. 350 00:21:03,830 --> 00:21:06,580 Saya akan menerangkan pertama dan terakhir. 351 00:21:06,580 --> 00:21:10,060 Anda boleh sama ada secara manual pergi dan menjalankan bekas 352 00:21:10,060 --> 00:21:14,280 dan membuat perubahan itu, seperti yang akan anda lakukan di mana-mana VM 353 00:21:14,280 --> 00:21:17,060 atau mana-mana sistem operasi, seperti memasang binari baru, 354 00:21:17,060 --> 00:21:19,370 menambah sistem fail, dan barang kecil. 355 00:21:19,370 --> 00:21:22,620 >> Dan kemudian anda keluar, kerana anda boleh melihat di sana. 356 00:21:22,620 --> 00:21:24,330 Saya sedang keluar bekas saya. 357 00:21:24,330 --> 00:21:26,050 Dan kemudian saya melakukan buruh pelabuhan melakukan. 358 00:21:26,050 --> 00:21:28,390 Dan saya melakukan itu. 359 00:21:28,390 --> 00:21:31,560 Anda boleh melihat bahawa jumlah sini hanya UUID, atau 12 pertama 360 00:21:31,560 --> 00:21:32,810 cebisan UUID itu. 361 00:21:32,810 --> 00:21:34,320 Atau bait UUID itu. 362 00:21:34,320 --> 00:21:35,770 Dan kemudian saya memanggil imej saya. 363 00:21:35,770 --> 00:21:39,510 Jadi sekarang buruh pelabuhan menjaga rakaman semua yang saya lakukan 364 00:21:39,510 --> 00:21:42,830 dan mencipta yang baru imej berdasarkan itu. 365 00:21:42,830 --> 00:21:47,080 366 00:21:47,080 --> 00:21:52,560 >> Saya tidak akan bercakap tentang tarball, tetapi ada satu cara yang anda boleh mendapatkan satu, 367 00:21:52,560 --> 00:21:58,200 mewujudkan tunggal, atau membuat satu imej lapisan menggunakan tarball. 368 00:21:58,200 --> 00:22:02,650 Apa yang saya akan bercakap tentang perkara ini dan apa yang paling banyak digunakan hari ini, 369 00:22:02,650 --> 00:22:03,270 adalah Dockerfile. 370 00:22:03,270 --> 00:22:07,260 Yang secara teknikal pertama melangkah automatik oleh buruh pelabuhan sendiri. 371 00:22:07,260 --> 00:22:11,920 Jadi Dockerfiles perkara-perkara yang anda berada akan lihat dalam banyak repo GitHub 372 00:22:11,920 --> 00:22:13,150 hari ini. 373 00:22:13,150 --> 00:22:16,420 Ia pada dasarnya hanya fail teks yang menerangkan 374 00:22:16,420 --> 00:22:19,780 bagaimana untuk membina imej. 375 00:22:19,780 --> 00:22:25,540 >> Dan bagi setiap baris, ia sebenarnya mewujudkan bekas, melaksanakan talian itu, 376 00:22:25,540 --> 00:22:30,480 melakukan bekas yang menjadi imej baru, dan anda, pada dasarnya, 377 00:22:30,480 --> 00:22:36,160 menggunakannya untuk semua operasi berikutnya sehingga anda sampai ke imej yang terakhir. 378 00:22:36,160 --> 00:22:39,260 Yang pada dasarnya yang berakhir matlamat sini, akhirnya. 379 00:22:39,260 --> 00:22:42,420 Dan selepas anda exec-- selepas anda menulis Dockerfile anda, yang 380 00:22:42,420 --> 00:22:46,750 adalah semata-mata di dalam teks, anda melakukan buruh pelabuhan membina dan nama imej. 381 00:22:46,750 --> 00:22:50,000 >> Dan anda menunjuk ke arah yang yang mana Dockerfile adalah di. 382 00:22:50,000 --> 00:22:56,570 Dan anda boleh mengharapkan untuk melihat imej saya sebagai imej yang anda ada dalam negara. 383 00:22:56,570 --> 00:22:59,100 Jadi itu hanya visual contoh apa yang berlaku di. 384 00:22:59,100 --> 00:23:00,820 Anda bermula dengan imej asas. 385 00:23:00,820 --> 00:23:05,150 Anda menjalankan itu ke dalam bekas yang tidak mengubah imej asas itu sendiri. 386 00:23:05,150 --> 00:23:08,310 Tetapi sebaliknya mewujudkan menulis semula lapisan di atasnya 387 00:23:08,310 --> 00:23:10,340 di mana anda membuat perubahan, di mana anda melakukan 388 00:23:10,340 --> 00:23:15,050 dan anda mengulangi proses sehingga anda mendapat imej akhir anda. 389 00:23:15,050 --> 00:23:20,980 >> Dan dengan berbuat demikian, setiap binaan lain proses boleh menggunakan lapisan sama 390 00:23:20,980 --> 00:23:23,870 dan same-- asasnya Buruh pelabuhan cache mereka lapisan. 391 00:23:23,870 --> 00:23:30,040 Supaya jika yang saya lakukan yang tepat yang sama proses, tetapi bukan memasang PHP, 392 00:23:30,040 --> 00:23:31,540 Saya memasang Python. 393 00:23:31,540 --> 00:23:34,210 Ia akan menggunakan Apache dan Ubuntu. 394 00:23:34,210 --> 00:23:39,570 Jadi cara bahawa anda menggunakan cakera anda. 395 00:23:39,570 --> 00:23:42,330 Ia menggunakan cache dan imej yang terdapat di sana. 396 00:23:42,330 --> 00:23:45,320 397 00:23:45,320 --> 00:23:48,840 >> Bahagian terakhir adalah Registry, yang adalah bagaimana anda mengedarkan imej anda. 398 00:23:48,840 --> 00:23:52,710 Dan, seperti yang saya nyatakan sebelum ini, ada versi Cloud itu, 399 00:23:52,710 --> 00:23:54,290 yang merupakan buruh pelabuhan Hub. 400 00:23:54,290 --> 00:23:57,550 Anda boleh pergi dan meneroka banyak, pada dasarnya 401 00:23:57,550 --> 00:24:04,900 ia adalah satu produk SAS awam yang anda masih boleh mempunyai imej persendirian, 402 00:24:04,900 --> 00:24:06,590 tetapi ada banyak imej awam. 403 00:24:06,590 --> 00:24:10,580 Ini sebenarnya tidak terhad, anda boleh menolak imej awam yang tidak terhad di sana. 404 00:24:10,580 --> 00:24:13,730 Dan ini adalah bagaimana anda boleh bekerjasama dengan pasukan anda. 405 00:24:13,730 --> 00:24:17,159 >> Anda hanya boleh menunjukkan mereka pada anda repo dan mereka boleh memuat turun atau imej anda 406 00:24:17,159 --> 00:24:18,200 dan mereka boleh memuat turun. 407 00:24:18,200 --> 00:24:21,140 408 00:24:21,140 --> 00:24:24,990 Jadi cukup dengan ceramah. 409 00:24:24,990 --> 00:24:29,110 Siapa yang mahu melihat beberapa demo sebenar cepat? 410 00:24:29,110 --> 00:24:31,330 Baiklah. 411 00:24:31,330 --> 00:24:34,050 Jadi di sini saya ada. 412 00:24:34,050 --> 00:24:37,480 Ca anda semua melihat skrin saya? 413 00:24:37,480 --> 00:24:38,390 Baiklah. 414 00:24:38,390 --> 00:24:45,810 >> Jadi saya mempunyai buruh pelabuhan berjalan di sini, jadi saya boleh menyemak it's-- Ini adalah versi 415 00:24:45,810 --> 00:24:47,510 daripada buruh pelabuhan yang sedang berjalan. 416 00:24:47,510 --> 00:24:49,320 Boleh melakukan maklumat buruh pelabuhan. 417 00:24:49,320 --> 00:24:55,730 Semak semua maklumat tentang berapa ramai imej yang mereka ada, dan sebagainya dan sebagainya. 418 00:24:55,730 --> 00:24:58,890 Buruh pelabuhan PS, tiada apa-apa berjalan. 419 00:24:58,890 --> 00:25:00,570 Concatenated mereka. 420 00:25:00,570 --> 00:25:06,370 >> Jadi perkara pertama yang saya mahu lakukan adalah menunjukkan anda bagaimana anda boleh dengan mudah berjalan bekas. 421 00:25:06,370 --> 00:25:09,350 Jadi keindahan tentang Doktor jangka, jika ia benar-benar 422 00:25:09,350 --> 00:25:14,700 tidak mencari imej negara, secara lalai ia bercakap kepada Doktor Hub 423 00:25:14,700 --> 00:25:17,240 dan cuba untuk mencari di sana dan muat turun untuk anda. 424 00:25:17,240 --> 00:25:22,820 Jadi ia termasuk buruh pelabuhan tarik arahan, secara semula jadi. 425 00:25:22,820 --> 00:25:26,130 >> Jadi, jika saya melakukan buruh pelabuhan jangka, hello dunia. 426 00:25:26,130 --> 00:25:28,890 427 00:25:28,890 --> 00:25:31,200 Jadi, pertama ia akan cuba untuk mencarinya. 428 00:25:31,200 --> 00:25:36,140 Jika tidak, seperti yang anda boleh lihat di sini, ia tidak boleh merasa dalam negara. 429 00:25:36,140 --> 00:25:41,830 Buat masa ini ia hanya ditarik dua lapisan yang membuat gambar itu dan saya berlari. 430 00:25:41,830 --> 00:25:45,440 Hello di dunia adalah hanya pada dasarnya output, apa yang anda telah lakukan. 431 00:25:45,440 --> 00:25:47,680 Jadi ini adalah yang paling mudah, satu contoh yang paling mudah. 432 00:25:47,680 --> 00:25:53,840 Jadi sebenarnya saya hanya berlari dan ditamatkan bekas sangat cepat. 433 00:25:53,840 --> 00:25:59,500 >> Jika saya mahu run-- dan dengan cara itu, jika Saya hendak masa itu, hanya supaya anda tahu, 434 00:25:59,500 --> 00:26:03,572 ini adalah berapa lama yang diperlukan untuk sebenarnya berputar dan membendungnya. 435 00:26:03,572 --> 00:26:05,030 Kami berukuran dalam milisaat. 436 00:26:05,030 --> 00:26:10,600 Jadi, anda boleh melihat berapa banyak ini boleh benar-benar membantu anda bukan sahaja dalam ujian, 437 00:26:10,600 --> 00:26:13,200 tetapi juga walaupun kerahan. 438 00:26:13,200 --> 00:26:17,221 Jadi itulah nota yang cepat pada itu. 439 00:26:17,221 --> 00:26:18,970 Perkara seterusnya yang saya akan lakukan adalah sebenarnya 440 00:26:18,970 --> 00:26:21,930 menjalankan imej saya sudah bersedia. 441 00:26:21,930 --> 00:26:24,460 Jadi buruh pelabuhan jangka. 442 00:26:24,460 --> 00:26:27,240 -d hanya bendera untuk memberitahu ia berjalan di latar belakang. 443 00:26:27,240 --> 00:26:30,290 Dan p memberikan pelabuhan tertentu. 444 00:26:30,290 --> 00:26:32,670 Kerana dengan lalai, bekas yang terpencil, 445 00:26:32,670 --> 00:26:36,080 jadi anda perlu untuk menentukan dengan tepat bagaimana ia boleh mengaksesnya. 446 00:26:36,080 --> 00:26:41,150 Dan dalam kes ini, saya memberitahu buruh pelabuhan untuk memetakan port rawak pada tuan rumah 447 00:26:41,150 --> 00:26:44,560 ke pelabuhan yang ditetapkan dalam bekas itu sendiri. 448 00:26:44,560 --> 00:26:47,130 449 00:26:47,130 --> 00:26:56,460 Dan itu pada dasarnya di mana image-- yang mudah-mudahan ini adalah yang betul. 450 00:26:56,460 --> 00:27:01,780 >> Jadi ia muat turun selari antara satu sama dari orang-orang lapisan seperti yang anda boleh lihat di sini. 451 00:27:01,780 --> 00:27:06,949 Mereka adalah daripada lapisan yang membuat imej akhir yang saya dibina. 452 00:27:06,949 --> 00:27:08,115 Ia akan mengambil kedua. 453 00:27:08,115 --> 00:27:11,290 454 00:27:11,290 --> 00:27:12,370 Dan VoilĂ . 455 00:27:12,370 --> 00:27:16,590 >> Jadi sekarang jika saya melakukan ps buruh pelabuhan, saya perlu melihat sesuatu yang sedang berjalan. 456 00:27:16,590 --> 00:27:22,250 Perlu saya lihat ID, imej ini ia adalah berdasarkan di luar, 457 00:27:22,250 --> 00:27:23,880 dan arahan yang telah dilaksanakan. 458 00:27:23,880 --> 00:27:28,720 Dan bagaimana untuk mencapainya adalah pada dasarnya anda pergi ke pelabuhan itu. 459 00:27:28,720 --> 00:27:33,240 Oleh itu, saya akan pergi ke supaya- ini adalah saya berjalan di atas AWS. 460 00:27:33,240 --> 00:27:37,150 Saya akan pergi ke 32769. 461 00:27:37,150 --> 00:27:37,650 Maaf. 462 00:27:37,650 --> 00:27:40,495 463 00:27:40,495 --> 00:27:41,120 Dan di sini kita pergi. 464 00:27:41,120 --> 00:27:44,550 >> Jadi ini sebenarnya hanya perkhidmatan web yang menunjukkan 465 00:27:44,550 --> 00:27:46,240 yang bekas ia disampaikan dari. 466 00:27:46,240 --> 00:27:50,450 Jadi, anda boleh melihat bahawa ia adalah dari a9f bekas. 467 00:27:50,450 --> 00:27:52,850 Dan di sini ini adalah menamakan bekas. 468 00:27:52,850 --> 00:27:56,550 Jadi anda semua boleh lihat berapa cepat ia adalah untuk benar-benar bukan sahaja menarik tetapi juga 469 00:27:56,550 --> 00:28:00,440 menggunakan bekas ini. 470 00:28:00,440 --> 00:28:05,070 >> Kini langkah seterusnya adalah untuk melihat ke dalam Dockerfiles 471 00:28:05,070 --> 00:28:09,430 dan bagaimana kita boleh sebenarnya membina imej baru. 472 00:28:09,430 --> 00:28:15,250 Saya hanya akan pergi mendapatkan klon, yang mencuba hidangan Dockerfile berdasarkan yang lebih awal 473 00:28:15,250 --> 00:28:17,755 rajah, satu untuk Apache dan PHP. 474 00:28:17,755 --> 00:28:26,740 475 00:28:26,740 --> 00:28:28,140 Mudah-mudahan saya ingat repo saya. 476 00:28:28,140 --> 00:28:36,410 477 00:28:36,410 --> 00:28:38,750 >> Jadi saya mempunyai repositori saya sekarang. 478 00:28:38,750 --> 00:28:43,080 Dan anda akan melihat banyak ini sebenarnya. 479 00:28:43,080 --> 00:28:45,110 Saya tidak memasang pokok. 480 00:28:45,110 --> 00:28:48,700 >> Jadi, pada asasnya anda akan melihat bagaimana dokumentasi kod sumber anda di sekitar 481 00:28:48,700 --> 00:28:51,240 , dan kemudian yang Dockerfile pada bagaimana untuk benar-benar pakej itu. 482 00:28:51,240 --> 00:28:57,970 Jadi ia hanya sampel PHP yang bergema hello CS50. 483 00:28:57,970 --> 00:29:01,550 >> Jadi jika saya mahu untuk menjalankannya, Saya akan melakukan buruh pelabuhan membina. 484 00:29:01,550 --> 00:29:03,370 Saya perlu membina terlebih dahulu. 485 00:29:03,370 --> 00:29:12,420 Saya akan nama itu demo_cs50. 486 00:29:12,420 --> 00:29:16,470 Dan anda perlu tanda nama juga. 487 00:29:16,470 --> 00:29:19,802 Jadi mari kita memanggilnya v1 dot. 488 00:29:19,802 --> 00:29:21,760 Jadi seperti yang saya diterangkan sebelum ini, apa yang saya lakukan hari ini 489 00:29:21,760 --> 00:29:26,840 adalah saya memberitahu buruh pelabuhan pergi penggunaan bahawa- sebenarnya, maaf, buruk saya. 490 00:29:26,840 --> 00:29:29,450 491 00:29:29,450 --> 00:29:32,500 Kami tidak melihat dengan di Dockerfile sendiri. 492 00:29:32,500 --> 00:29:39,020 Jadi perkara-perkara sahaja di sini adalah index.php serta fail readme 493 00:29:39,020 --> 00:29:39,810 dan Dockerfile. 494 00:29:39,810 --> 00:29:44,600 >> Jadi, jika anda lihat pada yang Dockerfile, jadi ia 495 00:29:44,600 --> 00:29:47,150 hampir sama dengan apa yang Saya diterangkan sebelum ini. 496 00:29:47,150 --> 00:29:51,220 Ia hanya sekumpulan langkah-langkah yang buruh pelabuhan melaksanakan 497 00:29:51,220 --> 00:29:56,330 dengan mencipta dan meruntuhkan bekas dan [? mengira?] mereka ke dalam imej. 498 00:29:56,330 --> 00:29:59,570 >> Dan pada dasarnya anda boleh see-- [didengar] ia sini-- 499 00:29:59,570 --> 00:30:04,340 tetapi ini adalah dari repo tempatan. 500 00:30:04,340 --> 00:30:06,410 Ia akan pergi dan merebut index.php. 501 00:30:06,410 --> 00:30:10,970 Jadi itulah kod sumber itu sahaja sebenarnya sebahagian daripada permohonan anda. 502 00:30:10,970 --> 00:30:16,800 Semua ini pada dasarnya sistem operasi paip, 503 00:30:16,800 --> 00:30:21,460 mendapat pakej yang betul dan Apache dan PHP, dan barang kecil. 504 00:30:21,460 --> 00:30:26,950 Tetapi ini adalah benar-benar mengambil index.php dan melakukan jenayah itu ke dalam bekas, 505 00:30:26,950 --> 00:30:28,210 ke dalam imej. 506 00:30:28,210 --> 00:30:33,120 >> Jadi, jika anda pergi ke hadapan dan menjalankan arahan dengan melakukan yang berikut, 507 00:30:33,120 --> 00:30:36,155 ia going-- sebenarnya, ini mungkin mengambil masa sedikit. 508 00:30:36,155 --> 00:30:40,870 509 00:30:40,870 --> 00:30:42,455 Mudah-mudahan ia tidak mengambil masa yang lama. 510 00:30:42,455 --> 00:30:45,129 511 00:30:45,129 --> 00:30:46,170 Jadi, anda boleh melihat langkah-langkah. 512 00:30:46,170 --> 00:30:49,320 Dan saya menggalakkan anda untuk pergi pulang ke rumah hari ini dan mencubanya. 513 00:30:49,320 --> 00:30:51,280 Dan Mano akan menerangkan bagaimana sebenarnya anda berbuat demikian. 514 00:30:51,280 --> 00:30:57,810 Tetapi ia adalah benar-benar hebat untuk melihat dengan jelas apa yang berlaku di belakang tabir. 515 00:30:57,810 --> 00:31:02,420 Tetapi ia sungguh mudah untuk membina imej dan menggunakan mereka menggunakan buruh pelabuhan. 516 00:31:02,420 --> 00:31:12,170 517 00:31:12,170 --> 00:31:14,050 >> Ia mengambil sedikit lebih lama daripada yang saya harapkan. 518 00:31:14,050 --> 00:31:29,085 519 00:31:29,085 --> 00:31:32,690 >> Mari kita lihat apa yang berlaku apabila atasmu sejuk. 520 00:31:32,690 --> 00:31:36,260 Jadi seperti yang anda boleh lihat, setiap satu daripada langkah-langkah mewakili baris dalam Dockerfile. 521 00:31:36,260 --> 00:31:42,570 Dan ia menunjukkan di sini bahawa ia berjaya membina imej ini. 522 00:31:42,570 --> 00:31:46,480 >> Jadi, jika saya lakukan imej buruh pelabuhan, saya akan melihat semua imej yang saya ada dalam negara. 523 00:31:46,480 --> 00:31:52,160 Dan salah seorang daripada mereka dipanggil saya nama pengguna, dan nama imej, 524 00:31:52,160 --> 00:31:56,050 dan representing-- tag terutamanya ia adalah satu tag versi. 525 00:31:56,050 --> 00:31:58,040 >> Jadi sekarang jika saya mahu menjalankan , saya melakukan buruh pelabuhan jangka. 526 00:31:58,040 --> 00:32:06,040 527 00:32:06,040 --> 00:32:14,960 Dan saya hanya mahu melakukan -P -d. Adakah v1. 528 00:32:14,960 --> 00:32:18,500 Jadi saya boleh lihat sekarang bahawa saya mempunyai dua bekas berjalan, salah satu yang saya 529 00:32:18,500 --> 00:32:21,230 dicipta dan khabar yang Buruh pelabuhan satu yang saya dapat lepas. 530 00:32:21,230 --> 00:32:24,320 >> Dan anda boleh lihat di sini bahawa ia ditugaskan pelabuhan yang berbeza. 531 00:32:24,320 --> 00:32:30,710 Jadi, jika saya pergi ke IP yang sama tetapi sediakan port-- yang lain mudah-mudahan saya tidak. 532 00:32:30,710 --> 00:32:33,060 Jadi sekarang ini adalah aplikasi bahawa saya hanya dikerahkan. 533 00:32:33,060 --> 00:32:35,980 534 00:32:35,980 --> 00:32:43,900 >> Jika saya ingin membuat perubahan, saya cepat boleh mengedit kod sumber 535 00:32:43,900 --> 00:32:49,050 dan melakukan yang berikut. 536 00:32:49,050 --> 00:32:55,170 Mari kita buat hello Harvard. 537 00:32:55,170 --> 00:32:57,989 Jadi sekarang apa yang berlaku berlaku ialah saya 538 00:32:57,989 --> 00:32:59,905 akan menanda dengan berbeza version-- oh, 539 00:32:59,905 --> 00:33:03,080 Bukankah ini guy-- menanda dengan versi yang berbeza. 540 00:33:03,080 --> 00:33:05,735 Dan anda akan see-- adakah anda seorang lelaki mengharapkan 541 00:33:05,735 --> 00:33:11,020 untuk mengambil jumlah yang sama masa membinanya kali kedua atau tidak? 542 00:33:11,020 --> 00:33:14,470 Baiklah, dan sesiapa sahaja yang tahu mengapa? 543 00:33:14,470 --> 00:33:15,020 Bersuara. 544 00:33:15,020 --> 00:33:16,350 >> PENONTON: [didengar] 545 00:33:16,350 --> 00:33:19,830 >> NICOLA KABAR: Ia pada dasarnya kita hanya menukar salah satu langkah yang kemudian. 546 00:33:19,830 --> 00:33:23,110 Dan oleh itu ia akan menggunakan cache dan menggunakan setiap orang-orang lapisan. 547 00:33:23,110 --> 00:33:27,080 Dan itu benar-benar sebahagian daripada ciri pembunuh buruh pelabuhan 548 00:33:27,080 --> 00:33:32,930 adalah bagaimana ia sebenarnya menggunakan dan penggunaan semula yang mengambil alih 549 00:33:32,930 --> 00:33:36,950 cakera anda untuk yang sama keping tepat maklumat. 550 00:33:36,950 --> 00:33:40,700 >> Jadi, jika kita melakukan perkara yang sama, ia mengambil masa hanya beberapa saat. 551 00:33:40,700 --> 00:33:48,860 Jika kita mahu redeploy-- jadi sekarang Saya harus mempunyai tiga bekas. 552 00:33:48,860 --> 00:33:56,160 Tetapi yang satu ini sedang disampaikan kepada the-- tujuh satu. 553 00:33:56,160 --> 00:33:58,860 Jadi kini ia bekas ketiga. 554 00:33:58,860 --> 00:34:02,580 Semua orang faham apa yang saya hanya lakukan di sini? 555 00:34:02,580 --> 00:34:06,320 >> Jadi sekarang jika anda ingin berkongsi ini bekas sebenar cepat dengan rakan-rakan anda, 556 00:34:06,320 --> 00:34:14,840 anda hanya boleh melakukan buruh pelabuhan menolak menamakan bekas, mudah-mudahan. 557 00:34:14,840 --> 00:34:20,130 Oleh sebab itu ia akan menolak supaya- Saya tidak ditandatangani di sini. 558 00:34:20,130 --> 00:34:33,511 559 00:34:33,511 --> 00:34:34,219 Maaf tentang itu. 560 00:34:34,219 --> 00:34:39,219 Tetapi saya tidak akan menyelesaikan masalah ini sekarang. 561 00:34:39,219 --> 00:34:42,780 Tetapi pada dasarnya arahan yang salah hanya naik menolaknya. 562 00:34:42,780 --> 00:34:45,670 Dan anda akan dapat lihat jika anda pergi ke buruh pelabuhan Hub 563 00:34:45,670 --> 00:34:48,587 Dan anda login, anda berada akan dapat melihatnya. 564 00:34:48,587 --> 00:34:50,420 Dan kemudian anda boleh hanya menunjukkan sesiapa yang akan 565 00:34:50,420 --> 00:34:52,750 untuk menggunakan imej yang pergi dan tarik. 566 00:34:52,750 --> 00:34:55,460 Dan mereka boleh menggunakannya. 567 00:34:55,460 --> 00:34:57,760 >> Dengan itu, mudah-mudahan Saya jenis menunjukkan 568 00:34:57,760 --> 00:35:01,230 betapa mudahnya adalah untuk bekerja dengan buruh pelabuhan. 569 00:35:01,230 --> 00:35:06,610 Dan saya hanya akan memberikan kembali kepada Mano. 570 00:35:06,610 --> 00:35:11,760 Dan dia akan mengambil dari sini. 571 00:35:11,760 --> 00:35:13,990 >> MANO MARKAH: Baiklah terima kasih, terima kasih Nico. 572 00:35:13,990 --> 00:35:18,700 573 00:35:18,700 --> 00:35:20,614 Jadi apa? 574 00:35:20,614 --> 00:35:24,410 Jadi salah satu perkara yang saya mahu lakukan adalah meletakkan bersama-sama 575 00:35:24,410 --> 00:35:28,820 mengapa ini adalah important-- yang mengapa buruh pelabuhan dan mengapa 576 00:35:28,820 --> 00:35:33,000 bekas adalah apa-apa pembangunan baru yang penting, 577 00:35:33,000 --> 00:35:36,890 cara baru untuk benar-benar melakukan perisian. 578 00:35:36,890 --> 00:35:41,300 >> Dan sebelum saya lakukan, saya akan hanya memperkenalkan statistik beberapa. 579 00:35:41,300 --> 00:35:42,790 Saya tidak akan membaca semua ini. 580 00:35:42,790 --> 00:35:52,540 Tetapi ini menunjukkan anda banyak tentang bagaimana popular ini berada dalam masyarakat. 581 00:35:52,540 --> 00:35:56,310 Teknologi buruh pelabuhan teras adalah sumber terbuka. 582 00:35:56,310 --> 00:36:03,560 Jadi itulah buruh pelabuhan Engine, Karang, Swarm, sekumpulan barangan lain 583 00:36:03,560 --> 00:36:05,210 adalah semua sumber terbuka. 584 00:36:05,210 --> 00:36:10,590 Dan kita ada, apa yang saya lakukan berkata, 1,300 pencarum. 585 00:36:10,590 --> 00:36:15,630 Anda lihat sekarang, jika anda melihat penggunaan di beberapa jawatan kosong, kali terakhir 586 00:36:15,630 --> 00:36:19,640 kita melihat, ia adalah kira-kira 43,000 pekerjaan bukaan secara khusus menyebut 587 00:36:19,640 --> 00:36:22,230 kebiasaan dengan buruh pelabuhan. 588 00:36:22,230 --> 00:36:26,450 Beratus-ratus juta imej mempunyai dimuat turun dari buruh pelabuhan Hub. 589 00:36:26,450 --> 00:36:31,870 Dan, baik, statistik lebih besar. 590 00:36:31,870 --> 00:36:34,770 >> Bagi mereka yang ingin tahu, ia pada asalnya ditulis dalam Python 591 00:36:34,770 --> 00:36:37,730 dan kemudian ditulis semula ke dalam Go. 592 00:36:37,730 --> 00:36:40,320 Dan ia hanya berada membuka source-- ia hanya 593 00:36:40,320 --> 00:36:44,950 telah dikeluarkan untuk kira-kira 2 1/2 tahun, yang bermaksud bahawa pada 2 dan 1/2 tahun, 594 00:36:44,950 --> 00:36:48,020 kami telah melihat sejumlah besar pertumbuhan dan kepentingan 595 00:36:48,020 --> 00:36:50,190 ini dalam masyarakat. 596 00:36:50,190 --> 00:36:52,400 Oleh itu, saya mahu bercakap sedikit tentang mengapa. 597 00:36:52,400 --> 00:36:54,940 598 00:36:54,940 --> 00:36:59,880 >> Jadi hanya mengulangi beberapa Perkara utama Nico kanak, buruh pelabuhan pantas. 599 00:36:59,880 --> 00:37:00,630 Ia adalah mudah alih. 600 00:37:00,630 --> 00:37:02,500 Ia adalah diulang. 601 00:37:02,500 --> 00:37:06,130 Dan ia menetapkan persekitaran yang standard. 602 00:37:06,130 --> 00:37:13,370 >> Dan what-- ini adalah buruk sekali saya membasmi monoliths slide-- apa 603 00:37:13,370 --> 00:37:17,990 ia membantu orang melakukan, yang banyak industri perisian 604 00:37:17,990 --> 00:37:21,400 mula melakukan dalam awal tahun 2000, bergerak 605 00:37:21,400 --> 00:37:24,200 daripada ini monolitik aplikasi tunggal 606 00:37:24,200 --> 00:37:28,590 di mana setiap pergantungan terpaksa diuji sebelum keseluruhan aplikasi mempunyai 607 00:37:28,590 --> 00:37:31,280 yang akan digunakan, yang boleh bermakna laman web 608 00:37:31,280 --> 00:37:36,240 hanya tidak perlu lagi digunakan sekali setiap tiga bulan, atau lebih, 609 00:37:36,240 --> 00:37:42,650 kepada perkhidmatan yang lebih seni bina berorientasikan 610 00:37:42,650 --> 00:37:46,090 atau jenis yang berbeza berkomponen seni bina aplikasi. 611 00:37:46,090 --> 00:37:48,610 Dan sebagainya yang membolehkan ini jenis seni bina 612 00:37:48,610 --> 00:37:52,250 yang mengambil kesempatan daripada Buruh pelabuhan berjalan di ketiga-tiga 613 00:37:52,250 --> 00:37:58,450 kawasan utama pembangunan, yang adalah pembangunan menulis kod yang sebenarnya, 614 00:37:58,450 --> 00:38:00,140 menguji kod anda, dan menggunakan ia. 615 00:38:00,140 --> 00:38:03,000 616 00:38:03,000 --> 00:38:05,420 >> Jadi mengapa penting ini? 617 00:38:05,420 --> 00:38:09,920 Jika anda a-- biarlah saya memberikan contoh. 618 00:38:09,920 --> 00:38:13,600 Jika anda adalah sebuah laman web pemaju peranti, anda berada 619 00:38:13,600 --> 00:38:19,020 membangunkan sebuah laman web yang yang berdasarkan pangkalan data yang David dihasilkan di sini. 620 00:38:19,020 --> 00:38:20,490 Maaf David, saya memanggil anda keluar. 621 00:38:20,490 --> 00:38:22,984 622 00:38:22,984 --> 00:38:24,900 Jika anda mahu menggunakan segala-galanya, anda akan 623 00:38:24,900 --> 00:38:28,870 perlu menunggu di bawah tradisional pembangunan perisian monolitik 624 00:38:28,870 --> 00:38:32,710 alam sekitar, anda akan perlu menunggu sehingga dia telah dilakukan dengan pangkalan data 625 00:38:32,710 --> 00:38:36,030 sebelum anda sebenarnya boleh membuat apa-apa perubahan kepada laman web anda. 626 00:38:36,030 --> 00:38:40,900 Anda harus menggunakan semula yang keseluruhan permohonan untuk berbuat demikian. 627 00:38:40,900 --> 00:38:45,490 >> Dan apa buruh pelabuhan membantu anda lakukan adalah setiap kerja orang bagi komponen yang berbeza 628 00:38:45,490 --> 00:38:52,990 dan mengemas kini mereka kerana mereka pergi, hanya membuat memastikan bahawa muka tetap sama. 629 00:38:52,990 --> 00:38:56,350 Jadi apa yang telah dilakukan adalah ia beralih orang 630 00:38:56,350 --> 00:39:03,950 daripada melakukan ini monolitik besar-besaran perisian architected yang 631 00:39:03,950 --> 00:39:07,610 digunakan setiap bulan untuk berterusan integrasi dan pembangunan yang berterusan 632 00:39:07,610 --> 00:39:08,490 alam sekitar. 633 00:39:08,490 --> 00:39:12,580 >> Sekarang ini tidak unik kepada buruh pelabuhan, tetapi buruh pelabuhan menjadikan ia lebih mudah, 634 00:39:12,580 --> 00:39:16,620 yang bermakna anda pada dasarnya sentiasa menggerakkan. 635 00:39:16,620 --> 00:39:20,690 Kita bercakap kepada perusahaan yang menggerakkan aplikasi menghadapi awam 636 00:39:20,690 --> 00:39:30,180 beribu-ribu kali sehari kerana mereka melihat nilai dalam hanya membuat 637 00:39:30,180 --> 00:39:33,740 perubahan kecil, dan selagi kerana ia berjalan melalui ujian, 638 00:39:33,740 --> 00:39:35,900 membiarkan ia keluar ke dalam pengeluaran. 639 00:39:35,900 --> 00:39:41,890 Nico sentiasa memberitahu saya sebelum ini bahawa dalam banyak persekitaran, 640 00:39:41,890 --> 00:39:46,580 kitaran hidup piawai bekas diukur dalam saat, 641 00:39:46,580 --> 00:39:50,460 manakala mesin maya boleh diukur dalam bulan. 642 00:39:50,460 --> 00:39:54,590 643 00:39:54,590 --> 00:39:58,690 >> Saya mahu mengambil sedikit menghidupkan sini kerana saya 644 00:39:58,690 --> 00:40:00,170 di institusi pendidikan. 645 00:40:00,170 --> 00:40:06,670 Saya mahu memberikan contoh bagaimana ini kerja-kerja dalam penyelidikan pendidikan 646 00:40:06,670 --> 00:40:07,670 keadaan. 647 00:40:07,670 --> 00:40:10,930 Jadi ada organisasi dipanggil bioboxes. 648 00:40:10,930 --> 00:40:15,450 Bioboxes tidak DNA analisis untuk penyelidik. 649 00:40:15,450 --> 00:40:22,029 >> Sekarang apa yang mereka dapati adalah bahawa apabila yang researcher-- dan ini tidak 650 00:40:22,029 --> 00:40:24,070 kesalahan apa-apa butir researcher-- tetapi apabila 651 00:40:24,070 --> 00:40:31,240 seorang penyelidik dikerahkan algoritma untuk menganalisis, 652 00:40:31,240 --> 00:40:36,670 Dengan cara yang tertentu, sampel DNA, mereka akan menulis perisian, 653 00:40:36,670 --> 00:40:39,980 menerbit, mungkin untuk GitHub atau tempat lain, 654 00:40:39,980 --> 00:40:42,680 dan kemudian mereka telah dilakukan. 655 00:40:42,680 --> 00:40:47,440 >> Baik masalah ini adalah bahawa ia tidak semestinya diulang. 656 00:40:47,440 --> 00:40:51,610 Kerana untuk memahami perisian, 657 00:40:51,610 --> 00:40:54,830 mereka akan ditubuhkan untuk persekitaran pembangunan yang tepat 658 00:40:54,830 --> 00:41:00,460 bahawa penyelidik yang digunakan, biasanya komputer riba mereka, atau pelayan, atau data yang 659 00:41:00,460 --> 00:41:04,280 tertumpu bahawa mereka telah menggunakan. 660 00:41:04,280 --> 00:41:11,530 Dan akibatnya, ia adalah amat sukar untuk mengeluarkan semula hasil penyelidikan apabila 661 00:41:11,530 --> 00:41:16,910 menganalisis sampel DNA untuk melihat perkara-perkara seperti incidence-- 662 00:41:16,910 --> 00:41:23,830 membandingkan kejadian serangan jantung berdasarkan gen tertentu yang hadir, 663 00:41:23,830 --> 00:41:28,900 misalnya, atau risiko kanser, atau mana-mana jenis lain perkara. 664 00:41:28,900 --> 00:41:33,900 >> Jadi apa yang mereka lakukan sebaliknya adalah mereka mula mencipta bekas. 665 00:41:33,900 --> 00:41:39,380 Dan anda boleh pergi ke bioboxes.org, ia adalah satu organisasi yang besar. 666 00:41:39,380 --> 00:41:43,900 Dan apa yang mereka lakukan ialah mereka menghasilkan bekas berdasarkan penyelidikan. 667 00:41:43,900 --> 00:41:46,840 Dan kemudian apabila seseorang menghantar dalam sampel mereka, mereka boleh menjalankannya. 668 00:41:46,840 --> 00:41:52,770 Dan ia mempunyai semua alam sekitar diperlukan untuk menjalankan algoritma yang 669 00:41:52,770 --> 00:41:55,370 dan menghasilkan keputusan. 670 00:41:55,370 --> 00:41:58,250 Dan mereka mendapati bahawa mereka berada lebih cenderung dan banyak 671 00:41:58,250 --> 00:42:01,300 lebih cepat dapat mengembalikan hasil kepada rakyat. 672 00:42:01,300 --> 00:42:06,860 >> Dan sebenarnya, apa yang orang lakukan menjalankan analisis mereka sendiri pada DNA, 673 00:42:06,860 --> 00:42:11,220 hantar yang masuk ke bioboxes, dan kemudian biobox hanya mengambil data, 674 00:42:11,220 --> 00:42:15,350 berjalan ia terhadap pelbagai bekas yang berbeza 675 00:42:15,350 --> 00:42:19,030 untuk melihat hasil yang berbeza berdasarkan kajian yang berbeza. 676 00:42:19,030 --> 00:42:21,860 Jadi ia adalah satu yang sangat kuat cara di mana penyelidik 677 00:42:21,860 --> 00:42:28,070 boleh membuat contoh tunggal yang membolehkan orang lain untuk mencuba dan menghasilkan semula 678 00:42:28,070 --> 00:42:28,650 keputusan. 679 00:42:28,650 --> 00:42:31,710 680 00:42:31,710 --> 00:42:34,360 >> Jadi bagaimana anda bermula? 681 00:42:34,360 --> 00:42:37,950 682 00:42:37,950 --> 00:42:39,800 Kami juga disokong pada Linux. 683 00:42:39,800 --> 00:42:43,070 Jadi, jika anda mahu untuk memasang apa-apa pada Linux, 684 00:42:43,070 --> 00:42:45,620 anda menggunakan standard anda pengurus pakej untuk dipasang. 685 00:42:45,620 --> 00:42:47,600 Jika anda menggunakan Debian, ia mendapatkan apt. 686 00:42:47,600 --> 00:42:50,500 CentOS adalah yum. 687 00:42:50,500 --> 00:42:53,500 Fedora Red Hat adalah rpm-- saya tidak ingat. 688 00:42:53,500 --> 00:42:56,070 Bagaimanapun, ia adalah semua di sana. 689 00:42:56,070 --> 00:42:59,610 Kami menyokong pelbagai jenis edaran Linux. 690 00:42:59,610 --> 00:43:01,150 Anda boleh menyemak mereka keluar. 691 00:43:01,150 --> 00:43:06,370 >> Kami juga mempunyai pilihan supaya anda boleh dijalankan pada Mac atau Windows. 692 00:43:06,370 --> 00:43:10,670 Sekarang Nico menjelaskan sebelum ini ia hanya disokong pada Linux. 693 00:43:10,670 --> 00:43:18,180 Itu betul kerana ia memerlukan kernel Linux. 694 00:43:18,180 --> 00:43:20,540 Tetapi, anda boleh berjalan di mesin maya. 695 00:43:20,540 --> 00:43:25,290 Dan apa yang Toolbox buruh pelabuhan tidak, yang anda boleh memuat turun, 696 00:43:25,290 --> 00:43:27,610 ia memberi anda bahawa mesin maya. 697 00:43:27,610 --> 00:43:37,260 >> Jadi hanya yang cepat 48 kedua, saya fikir, dimuat turun. 698 00:43:37,260 --> 00:43:40,670 Anda hanya mencari pada buruh pelabuhan Toolbox, muat turun kepada Mac, 699 00:43:40,670 --> 00:43:43,910 dan bahagian ini adalah tentu dipercepatkan kerana yang 700 00:43:43,910 --> 00:43:47,620 mahu menonton isyarat muat turun? 701 00:43:47,620 --> 00:43:54,190 Pemasangan standard Mac, dan kemudian anda 702 00:43:54,190 --> 00:43:59,795 akan melihat Jerome dimasukkan ke dalam kata beliau. 703 00:43:59,795 --> 00:44:00,670 Itulah yang sangat menarik. 704 00:44:00,670 --> 00:44:03,510 705 00:44:03,510 --> 00:44:06,230 Dan kemudian ia memasang sejumlah besar alat. 706 00:44:06,230 --> 00:44:10,010 Dan terutamanya ia akan memasang baris arahan. 707 00:44:10,010 --> 00:44:14,220 Dan kemudian anda boleh melihat Jerome menguji imej beliau. 708 00:44:14,220 --> 00:44:19,050 709 00:44:19,050 --> 00:44:22,640 >> Dan kemudian berdasarkan ini, anda boleh melihat bahawa YouTube 710 00:44:22,640 --> 00:44:27,420 berpendapat bahawa Nico berminat Star Wars, The Jimmy Kimmel menunjukkan, 711 00:44:27,420 --> 00:44:29,020 dan saya rasa Ellen. 712 00:44:29,020 --> 00:44:34,130 Saya rasa yang terakhir adalah klip dari sebuah rancangan Ellen. 713 00:44:34,130 --> 00:44:37,760 >> Jadi buruh pelabuhan Toolbox walaupun datang dengan lebih daripada sekadar Mesin buruh pelabuhan. 714 00:44:37,760 --> 00:44:39,840 Jadi buruh pelabuhan Machine ialah Perkara yang membantu 715 00:44:39,840 --> 00:44:43,710 anda menyediakan maya mesin Windows anda 716 00:44:43,710 --> 00:44:52,080 atau Mac-- kotak Windows atau Mac anda box-- dan membantu anda melakukan peruntukan, 717 00:44:52,080 --> 00:44:54,040 >> Tetapi ia juga datang dengan Swarm dan Karang, 718 00:44:54,040 --> 00:45:00,840 yang direka untuk membantu anda melakukan besar penugasan permohonan anda. 719 00:45:00,840 --> 00:45:04,000 Jadi, jika anda mahu untuk menguruskan kelompok nod, 720 00:45:04,000 --> 00:45:08,450 kelompok bekas, Karang dan Swarm adalah cara untuk pergi tentang itu. 721 00:45:08,450 --> 00:45:11,430 >> Dan sudah tentu ia datang dengan Buruh pelabuhan Enjin dan Kitematic, 722 00:45:11,430 --> 00:45:13,250 yang GUI desktop ini. 723 00:45:13,250 --> 00:45:17,060 Saya juga perlu menyebut buruh pelabuhan Registry, yang tidak termasuk dalam Toolbox, 724 00:45:17,060 --> 00:45:23,150 tetapi ia adalah satu cara untuk anda untuk menjalankan anda sendiri pejabat pendaftaran buruh pelabuhan Images seperti buruh pelabuhan 725 00:45:23,150 --> 00:45:28,970 Hub, tetapi anda juga boleh hanya menggunakan Buruh pelabuhan Hub sebagai satu cara untuk berbuat demikian. 726 00:45:28,970 --> 00:45:32,955 >> Dan, plot twist, anda lihat ia berjalan di dalam bekas. 727 00:45:32,955 --> 00:45:34,830 Dan itulah bagaimana kita mengedarkan slaid kami. 728 00:45:34,830 --> 00:45:38,610 Ini seluruh persembahan adalah sebenarnya dek slaid HTML. 729 00:45:38,610 --> 00:45:43,170 Dan ia sedang berjalan di sebuah bekas, yang anda boleh mendapatkan oleh- 730 00:45:43,170 --> 00:45:45,596 >> NICOLA KABAR: Ya, jadi ia berjalan penuh masa di Dagangan saya. 731 00:45:45,596 --> 00:45:47,540 Dan saya menyampaikan daripadanya. 732 00:45:47,540 --> 00:45:50,910 Dan anda hanya melakukan buruh pelabuhan selepas anda memasang Toolbox anda. 733 00:45:50,910 --> 00:45:57,340 Anda hanya boleh melakukan buruh pelabuhan jangka dan mendapatkannya, dan menggunakan slaid. 734 00:45:57,340 --> 00:45:58,830 >> MANO MENANDAKAN: Dan itu sahaja. 735 00:45:58,830 --> 00:46:02,160 Oleh itu, kita mengucapkan terima kasih kepada anda semua kerana datang. 736 00:46:02,160 --> 00:46:03,990 Dan kami gembira untuk menjawab soalan. 737 00:46:03,990 --> 00:46:07,810 Saya perlu menyebut sebelum sesiapa daun ada T-shirt di sana. 738 00:46:07,810 --> 00:46:10,940 Maaf sesiapa yang menonton ini di Livestream atau video, 739 00:46:10,940 --> 00:46:12,820 tetapi kita mempunyai buruh pelabuhan T-shirt di sana. 740 00:46:12,820 --> 00:46:16,250 Dan kita tahu pelajar buruh pelabuhan, dan dalam pengalaman saya, 741 00:46:16,250 --> 00:46:18,940 profesor juga, seperti pakaian percuma. 742 00:46:18,940 --> 00:46:22,490 >> Jadi terima kasih semua untuk keluar. 743 00:46:22,490 --> 00:46:27,050 Dan mengikuti kami di Twitter jika anda mahu, atau tidak. 744 00:46:27,050 --> 00:46:27,910 Saya tidak peduli. 745 00:46:27,910 --> 00:46:29,430 Juga ikuti buruh pelabuhan di Twitter. 746 00:46:29,430 --> 00:46:31,890 Itulah juga menarik. 747 00:46:31,890 --> 00:46:32,990 Dan kemudian itu sahaja. 748 00:46:32,990 --> 00:46:33,490 Docker.com. 749 00:46:33,490 --> 00:46:35,410 Terima kasih. 750 00:46:35,410 --> 00:46:39,360 >> [Tepuk tangan] 751 00:46:39,360 --> 00:46:41,625