1 00:00:00,000 --> 00:00:05,042 >> [Música tocando] 2 00:00:05,042 --> 00:00:06,000 DAVID Malan: Todo ben. 3 00:00:06,000 --> 00:00:07,630 Moitas grazas por vir. 4 00:00:07,630 --> 00:00:11,850 Este é seminario CS50 en encaixe, un tecnoloxía que nós mesmos e CS50 we 5 00:00:11,850 --> 00:00:13,392 comezaron a usar por algún tempo agora. 6 00:00:13,392 --> 00:00:15,766 Entón, meu nome é David Malan, I ensinar Introdución de Harvard 7 00:00:15,766 --> 00:00:16,671 de Ciencia da Computación. 8 00:00:16,671 --> 00:00:18,670 Por moito anos, vimos dar aos estudantes 9 00:00:18,670 --> 00:00:20,435 do lado do cliente para descargar máquinas virtuais 10 00:00:20,435 --> 00:00:22,134 onde se fan os seus problemas actuacións. 11 00:00:22,134 --> 00:00:24,300 Que temos agora a transición para un ambiente de nube 12 00:00:24,300 --> 00:00:27,396 que realmente usa esa tecnoloxía chamado de encaixe, de tal xeito que todo o CS50 13 00:00:27,396 --> 00:00:29,270 os alumnos agora teñen a súa recipientes propios Dock 14 00:00:29,270 --> 00:00:31,180 que en breve vai escoitar todo. 15 00:00:31,180 --> 00:00:33,740 >> Ademais, no servidor de CS50 cluster de lado, por moitos anos 16 00:00:33,740 --> 00:00:35,290 estabamos usando servidor na nube de Amazon. 17 00:00:35,290 --> 00:00:37,164 Que estaban correndo individuo máquinas virtuais. 18 00:00:37,164 --> 00:00:40,330 Iso tamén, comezamos a facer a transición cara isto chamadas recipientes Dock 19 00:00:40,330 --> 00:00:43,762 de xeito que todas as nosas aplicacións son agora perfectamente illadas unha da outra. 20 00:00:43,762 --> 00:00:46,720 Así, por iso e moito máis, permitan-me presentar os nosos amigos, Nico e Mano, 21 00:00:46,720 --> 00:00:48,574 da propia Dock. 22 00:00:48,574 --> 00:00:49,740 NICOLA kabar: Grazas, David. 23 00:00:49,740 --> 00:00:51,410 Ola a todos. 24 00:00:51,410 --> 00:00:54,230 O meu nome é Nico e este é Mano. 25 00:00:54,230 --> 00:00:58,260 Somos de Dock. 26 00:00:58,260 --> 00:01:02,240 Nós imos estar falando about-- dando a vostedes unha introdución para Dock, 27 00:01:02,240 --> 00:01:08,100 e espero que, a finais desa conversa pode entender 28 00:01:08,100 --> 00:01:12,890 o que pode usar para médico oxalato seu desenvolvemento de aplicacións 29 00:01:12,890 --> 00:01:14,200 e implantación. 30 00:01:14,200 --> 00:01:21,250 >> Entón, imos comezar reais rápido con unha información de fondo. 31 00:01:21,250 --> 00:01:22,750 Describe o Dock é todo. 32 00:01:22,750 --> 00:01:25,490 Como funciona isto? 33 00:01:25,490 --> 00:01:27,400 Como é arquitetado? 34 00:01:27,400 --> 00:01:29,360 Eu vou estar facendo algúns demos. 35 00:01:29,360 --> 00:01:35,070 E Mano será describindo como pode usar Dock 36 00:01:35,070 --> 00:01:37,720 e dándolle os pasos específicos como pode comezar. 37 00:01:37,720 --> 00:01:41,490 >> Eu apreciar se vostedes poden soster off para as súas preguntas para o final. 38 00:01:41,490 --> 00:01:46,800 Desta forma, eu podería estar dirixido a aqueles preguntas durante a presentación. 39 00:01:46,800 --> 00:01:52,150 Entón, imos deixar algún tempo ao final para preguntas. 40 00:01:52,150 --> 00:01:55,170 >> Entón, só real rápido, que ten de feito, nunca traballou en Dock, 41 00:01:55,170 --> 00:01:56,850 como xogar con el? 42 00:01:56,850 --> 00:01:58,000 Impresionante. 43 00:01:58,000 --> 00:01:58,520 Legal. 44 00:01:58,520 --> 00:01:59,817 Gran. 45 00:01:59,817 --> 00:02:01,525 Entón, eu vou comezar cun pouco de historia. 46 00:02:01,525 --> 00:02:04,350 47 00:02:04,350 --> 00:02:09,820 Entón, de volta os anos 90 e 2000s adiantados basicamente 48 00:02:09,820 --> 00:02:16,940 como desenvolvedores web, desenvolvedores de aplicacións, cando eles foron para implantar unha aplicación 49 00:02:16,940 --> 00:02:19,350 foi amarrado a nu metal. 50 00:02:19,350 --> 00:02:20,860 Era un servidor. 51 00:02:20,860 --> 00:02:22,870 Foi unha aplicación. 52 00:02:22,870 --> 00:02:25,260 >> Tradicionalmente, un exemplo Sería como unha pila lámpadas, 53 00:02:25,260 --> 00:02:30,630 onde realmente tivo que abrir o pool de recursos. 54 00:02:30,630 --> 00:02:37,110 CPU, memoria, disco, rede, instalación sistema operativo enriba diso. 55 00:02:37,110 --> 00:02:40,060 Se está servindo algo, se está realmente tendo servidor web, 56 00:02:40,060 --> 00:02:42,470 precisa de algo así como Apache para servi-lo. 57 00:02:42,470 --> 00:02:47,540 >> Se a súa aplicación Debe de base de datos, backhand, 58 00:02:47,540 --> 00:02:50,840 instalar algo como MySQL, e así por diante. 59 00:02:50,840 --> 00:02:55,910 E se precisa o tempo de execución, PHP e traballo PHP Python estaban alí. 60 00:02:55,910 --> 00:02:59,480 E así nós realmente tiven que tomar esas medidas a fin 61 00:02:59,480 --> 00:03:02,060 para obter o seu programa instalado e funcionando. 62 00:03:02,060 --> 00:03:08,440 >> Se precisa máis poder de computación que, basicamente tiven que chamar o seu Ops cara 63 00:03:08,440 --> 00:03:16,260 ou gala para ir e acumular un novo peza de hardware, conecta-lo, 64 00:03:16,260 --> 00:03:19,850 e ten que repetir os procesos de novo e de novo. 65 00:03:19,850 --> 00:03:23,680 Polo tanto, este proceso foi relativamente caro. 66 00:03:23,680 --> 00:03:26,080 Definitivamente foi moi lento. 67 00:03:26,080 --> 00:03:27,550 >> Foi ineficiente. 68 00:03:27,550 --> 00:03:33,890 E en moitos casos, o seu hardware foi subutilizado. 69 00:03:33,890 --> 00:03:38,830 Así, a finais dos anos 90 e principios dos anos 2000, virtualización de hardware veu adiante. 70 00:03:38,830 --> 00:03:42,475 E como se pode ver aquí no imaxe, basicamente o que fixeron 71 00:03:42,475 --> 00:03:46,390 é abstraída da piscina de características de hardware gratuítos 72 00:03:46,390 --> 00:03:49,680 e tipo de servir os para as capas superiores, 73 00:03:49,680 --> 00:03:52,360 Neste caso, un hóspede ordenador. 74 00:03:52,360 --> 00:03:54,940 >> E toda a idea de máquinas virtuais deparei 75 00:03:54,940 --> 00:03:59,110 e que realmente axudou Nube computación como a coñecemos hoxe. 76 00:03:59,110 --> 00:04:02,730 Entón, o que quería dicir é que pode realizar varias VMS, que 77 00:04:02,730 --> 00:04:06,720 significou varias pilas, múltiples aplicación nunha mesma máquina física. 78 00:04:06,720 --> 00:04:10,570 79 00:04:10,570 --> 00:04:16,440 >> Isto sempre axudou co velocidade de implantación da aplicación. 80 00:04:16,440 --> 00:04:17,629 Definitivamente cos gastos. 81 00:04:17,629 --> 00:04:22,810 Non ten que ir e gastar enerxía, tempo e recursos para rack 82 00:04:22,810 --> 00:04:26,210 máis servidores para chegar a máis de computación. 83 00:04:26,210 --> 00:04:30,950 E, de feito, a velocidade de traer os recursos superior é moito máis rápido. 84 00:04:30,950 --> 00:04:31,450 Gran. 85 00:04:31,450 --> 00:04:34,320 >> Entón nós decidimos a fame no mundo, non? 86 00:04:34,320 --> 00:04:36,390 Non, non realmente. 87 00:04:36,390 --> 00:04:42,410 Así, a virtualización tanto como é realmente axudou, a resolución do problema, 88 00:04:42,410 --> 00:04:45,460 realmente introducido moitos retos. 89 00:04:45,460 --> 00:04:49,210 O hypervisor definitivamente introducido unha morea de complexidade, 90 00:04:49,210 --> 00:04:53,820 manipulación aqueles subxacente conxunto de recursos. 91 00:04:53,820 --> 00:04:57,910 >> É máis pesado no sentido de que antes tiña un único sistema operativo que 92 00:04:57,910 --> 00:05:01,830 é como tres, catro concertos no disco. 93 00:05:01,830 --> 00:05:04,230 Agora, se ten 10 máquinas nun único hardware 94 00:05:04,230 --> 00:05:09,060 ten que multiplicar ese polo número de máquinas. 95 00:05:09,060 --> 00:05:11,440 É sempre máis caro nun sentido aínda 96 00:05:11,440 --> 00:05:14,430 ten que obter licenzas para a tecnoloxía de virtualización 97 00:05:14,430 --> 00:05:18,210 se non é de código aberto. 98 00:05:18,210 --> 00:05:21,120 >> Pero non imos tomar todas as crédito de virtualización. 99 00:05:21,120 --> 00:05:27,530 Porque o que pasou é que hai unha chea de pilas e lotes de software 100 00:05:27,530 --> 00:05:33,900 tecnoloxías que foron habilitados pola rapidez con que fose capaz de obter 101 00:05:33,900 --> 00:05:38,040 a recursos coa lanza Cloud. 102 00:05:38,040 --> 00:05:46,675 >> Entón, hoxe un único programa ou servizo pode ser utilizando calquera dos seguintes tempos de execución 103 00:05:46,675 --> 00:05:47,216 ou bases de datos. 104 00:05:47,216 --> 00:05:50,250 105 00:05:50,250 --> 00:05:56,070 PHP, Python, MySQL, Redis, outros enfeites. 106 00:05:56,070 --> 00:05:59,740 Polo tanto, hai unha morea de complexidade nesta número de pilas de realmente abrir 107 00:05:59,740 --> 00:06:02,210 un único servizo. 108 00:06:02,210 --> 00:06:07,300 E xunto con iso, tiña unha morea de recursos subxacentes ou infraestrutura 109 00:06:07,300 --> 00:06:15,210 tipo para probar deploy e, basicamente, levar á produción destes programas 110 00:06:15,210 --> 00:06:16,900 que está a desenvolver. 111 00:06:16,900 --> 00:06:21,950 >> Especialmente como os seus equipos teñen crecendo traballar sobre estas aplicacións, 112 00:06:21,950 --> 00:06:25,310 hai unha morea de complexidade e os retos 113 00:06:25,310 --> 00:06:31,660 que foron traídos para asegurar que o cycle-- basicamente aplicación 114 00:06:31,660 --> 00:06:34,040 ciclo de desenvolvemento, é realmente exitoso. 115 00:06:34,040 --> 00:06:40,440 Entón, o feito de que a súa candidatura traballa localmente no seu lugar de VM 116 00:06:40,440 --> 00:06:47,480 non garante que o seu compañeiro vai esperar os mesmos resultados. 117 00:06:47,480 --> 00:06:51,330 >> E cando o equipo de operacións é parte de tomar o que ten 118 00:06:51,330 --> 00:06:54,480 e implanta-lo en produción escala, tampouco hai ningunha garantía 119 00:06:54,480 --> 00:06:56,730 que que realmente vai ocorrer. 120 00:06:56,730 --> 00:07:00,900 Entón, iso déixanos cun realmente big-- unha morea de puntos de interrogación, 121 00:07:00,900 --> 00:07:07,700 unha serie de retos, en realidade, enfrontado de forma semellante a día. 122 00:07:07,700 --> 00:07:12,280 E iso nos fixo recordar a industria naval. 123 00:07:12,280 --> 00:07:14,280 >> Así, a industria naval tivo un lote de mercadorías, 124 00:07:14,280 --> 00:07:16,190 como podes ver na parte esquerda. 125 00:07:16,190 --> 00:07:19,840 E na parte dereita, hai unha morea de, basicamente, 126 00:07:19,840 --> 00:07:22,160 formas de enviar estes produtos. 127 00:07:22,160 --> 00:07:26,040 E o que ocorre cando unha parella persoas reuníronse e dixo: 128 00:07:26,040 --> 00:07:29,600 necesitamos estandarizar como realmente enviamos estes produtos. 129 00:07:29,600 --> 00:07:33,280 E boom, ten a contedores de transporte intermodal. 130 00:07:33,280 --> 00:07:38,970 >> Entón, eles coincidiron na máis tamaños comúns para o recipiente. 131 00:07:38,970 --> 00:07:40,160 Como tratar con eles. 132 00:07:40,160 --> 00:07:44,560 O método exacto que precisa para cargalos e descargalo a eles. 133 00:07:44,560 --> 00:07:49,590 E, polo tanto, que verdadeiramente axudou a industria naval. 134 00:07:49,590 --> 00:07:55,250 Agora, máis de 90% foco transportados globalmente están utilizando estes recipientes. 135 00:07:55,250 --> 00:08:01,010 E iso sempre diminúe os gastos, así como 136 00:08:01,010 --> 00:08:03,400 os danos debido ao transporte. 137 00:08:03,400 --> 00:08:09,660 >> Entón, tomamos o mesmo modelo e nós aplicar o programa de desenvolvemento de dous app 138 00:08:09,660 --> 00:08:13,080 Arquitectura, no sentido que conteinerização 139 00:08:13,080 --> 00:08:15,842 tomou a virtualización para un nivel superior. 140 00:08:15,842 --> 00:08:17,800 Entón, en vez de facelo ao nivel do hardware, 141 00:08:17,800 --> 00:08:22,060 tornouse máis dunha operación virtualización de nivel de sistema. 142 00:08:22,060 --> 00:08:26,450 >> E facemos iso introducindo cada aplicación no seu propio peso lixeiro, 143 00:08:26,450 --> 00:08:31,180 illado, executable, e portátil, o máis importante, 144 00:08:31,180 --> 00:08:35,049 unha forma de realmente embalar todo o que ten que ser executado. 145 00:08:35,049 --> 00:08:36,100 En calquera lugar pode ser executado. 146 00:08:36,100 --> 00:08:42,039 Así, independentemente se está executando o en dev ambiente local, a súa produción 147 00:08:42,039 --> 00:08:44,490 ambiente, o seu Estadios ou probas. 148 00:08:44,490 --> 00:08:47,700 Non importa o que subxacente infraestrutura está aí, 149 00:08:47,700 --> 00:08:51,410 tiña un app de traballo funcional. 150 00:08:51,410 --> 00:08:54,100 151 00:08:54,100 --> 00:09:01,800 >> Entón, iso é o que, basicamente, recipientes facer para este problema. 152 00:09:01,800 --> 00:09:04,070 Eles abordalo-la por embalar-lo de tal xeito 153 00:09:04,070 --> 00:09:09,490 que pode garantir que está implantado con éxito, non importa onde vive. 154 00:09:09,490 --> 00:09:12,120 Entón, se está indo como, Bob aínda é OK. 155 00:09:12,120 --> 00:09:17,860 Se está confuso co que eu digo, Eu vou estar elaborando sobre iso. 156 00:09:17,860 --> 00:09:20,900 >> Así como fai en si Dock se encaixan nese cadro? 157 00:09:20,900 --> 00:09:26,335 Entón Dock é unha plataforma aberta de xeito doado, salientar facilmente, 158 00:09:26,335 --> 00:09:30,500 para construír buque, correr, portátil e lixeiro auto 159 00:09:30,500 --> 00:09:33,440 envases de aplicacións suficientes en calquera lugar. 160 00:09:33,440 --> 00:09:37,660 Entón, se tomar algo con este Discusión, visite o seguinte. 161 00:09:37,660 --> 00:09:40,980 >> Se ten a súa aplicación en execución localmente e desenvolveu- 162 00:09:40,980 --> 00:09:45,930 no uso da plataforma Dock, esperar que sexa implantado con éxito. 163 00:09:45,930 --> 00:09:49,380 Non importa cal é o infraestrutura subxacente. 164 00:09:49,380 --> 00:09:53,830 Entón, se ten un Dock recipiente e funciona, entón 165 00:09:53,830 --> 00:09:58,130 mentres que hai un Dock motor por outro side-- 166 00:09:58,130 --> 00:10:02,190 a súa infraestrutura de operación Está a utilizar calquera Nube si 167 00:10:02,190 --> 00:10:06,680 é AWS, ou Google ou Microsoft, ou calquera das Nubes públicas, 168 00:10:06,680 --> 00:10:10,010 ou a súa propia nube, ou a súa pila aberto Nube, ou o seu ambiente local. 169 00:10:10,010 --> 00:10:11,970 >> Se tes un motor execución, que medios 170 00:10:11,970 --> 00:10:14,537 que será implantado con éxito alí. 171 00:10:14,537 --> 00:10:16,620 Vai estar en execución exactamente o mesmo comportamento 172 00:10:16,620 --> 00:10:21,480 como arquitetado que sexa. 173 00:10:21,480 --> 00:10:26,080 Polo tanto, se miramos at-- vou para pasar polo que, en realidade, 174 00:10:26,080 --> 00:10:29,160 están nos principais compoñentes do encaixe. 175 00:10:29,160 --> 00:10:31,060 >> Entón Motor está no cerne de Dock. 176 00:10:31,060 --> 00:10:32,770 É o cerebro do. 177 00:10:32,770 --> 00:10:39,360 El orquesta construción, transporte, e implantación e xestión 178 00:10:39,360 --> 00:10:41,570 os propios recipientes. 179 00:10:41,570 --> 00:10:45,160 Vou cavar o motor fai en máis detalles en un segundo. 180 00:10:45,160 --> 00:10:47,740 181 00:10:47,740 --> 00:10:51,720 Basicamente, porque Doctor foi construído en torno ás arquitecturas de servidores de cliente, 182 00:10:51,720 --> 00:10:56,630 por iso, para interactuar co Motor precisa de calquera tipo de cliente. 183 00:10:56,630 --> 00:11:01,200 >> As imaxes son os modelos no que son construídos a partir de contedores. 184 00:11:01,200 --> 00:11:06,800 Así, as imaxes son basicamente só arquivos estáticos. 185 00:11:06,800 --> 00:11:08,740 Modelos e contedores é, en realidade, o que é 186 00:11:08,740 --> 00:11:12,280 está en execución no tempo de execución que está servindo a súa candidatura 187 00:11:12,280 --> 00:11:15,150 ou facer algo cos datos. 188 00:11:15,150 --> 00:11:19,020 >> Rexistro é tratado como un problema de como realmente distribuír imaxes. 189 00:11:19,020 --> 00:11:23,230 Entón, se precisa compartir unha imaxe que traballou para o seu compañeiro 190 00:11:23,230 --> 00:11:27,220 ou para o equipo ops, vostede usalo a usar rexistro. 191 00:11:27,220 --> 00:11:31,720 Podes baixar unha fonte aberta versión del que traballou en Dock 192 00:11:31,720 --> 00:11:33,150 e de código aberto. 193 00:11:33,150 --> 00:11:38,040 >> Ou pode utilizar Dock axuda, que é a versión da nube 194 00:11:38,040 --> 00:11:40,130 para empurrar e tirar imaxes por aí. 195 00:11:40,130 --> 00:11:41,160 Iso é unha cousa enorme. 196 00:11:41,160 --> 00:11:44,520 Porque hai unha enorme ecosistema arredor Dock e é 197 00:11:44,520 --> 00:11:48,960 moi fortemente utilizando o cubo. 198 00:11:48,960 --> 00:11:59,780 >> Entón, para resumir aquí, esta é a forma na que o minimalista cliente fluxo de traballo Dock. 199 00:11:59,780 --> 00:12:04,040 Interactúa co anfitrión, no Neste caso, é os daemons Dock. 200 00:12:04,040 --> 00:12:06,490 É o mesmo que engine. 201 00:12:06,490 --> 00:12:09,690 Fai comandos como Dock construír, tirar, correr. 202 00:12:09,690 --> 00:12:14,280 E o propio motor vai e fai isto. 203 00:12:14,280 --> 00:12:18,010 >> Así, ou que interactúa con Rexistro para tirar as imaxes 204 00:12:18,010 --> 00:12:19,670 e as capas das imaxes. 205 00:12:19,670 --> 00:12:25,030 Se se quere implantar, executar recipientes, matalos, xoga-los para abaixo, 206 00:12:25,030 --> 00:12:25,730 outros enfeites. 207 00:12:25,730 --> 00:12:32,190 Polo tanto, este resume o fluxo de traballo de todos estes compoñentes. 208 00:12:32,190 --> 00:12:34,710 >> Entón, se tomar todas as compoñente de seu. 209 00:12:34,710 --> 00:12:37,690 Entón engine, que é só un demo. 210 00:12:37,690 --> 00:12:40,800 Vai tipo de xoga-lo para apoiar Lo en Linux, porque fai 211 00:12:40,800 --> 00:12:44,380 esixen certas características do núcleo de Linux. 212 00:12:44,380 --> 00:12:48,820 Pero o Windows está funcionando en facer o mesmo. 213 00:12:48,820 --> 00:12:53,720 É suposto ser apoiada Windows Server 2016. 214 00:12:53,720 --> 00:13:01,500 >> Así, de novo, as responsabilidades co motor é, ou son, construír imaxes. 215 00:13:01,500 --> 00:13:05,340 Puxe imaxes do Dock Hub ou o seu propio rexistro. 216 00:13:05,340 --> 00:13:07,840 Se está feito con esas imaxes ou crear un novo imaxes, 217 00:13:07,840 --> 00:13:14,770 pode empurra-los ao rexistro para distribuír las para outros equipos. 218 00:13:14,770 --> 00:13:18,300 >> E intentando contelo localmente e xestionar o ciclo de vida contedores 219 00:13:18,300 --> 00:13:19,260 localmente. 220 00:13:19,260 --> 00:13:22,010 El está construído en torno HTTP API REST. 221 00:13:22,010 --> 00:13:24,480 Entón, tecnicamente pode escribir o seu propio cliente 222 00:13:24,480 --> 00:13:31,650 sempre que usa o HTTP, o que é moi mecanismo estándar para falar con motor 223 00:13:31,650 --> 00:13:33,110 e unha morea de outros servizos. 224 00:13:33,110 --> 00:13:35,780 E podes ver dende aquí que, independentemente 225 00:13:35,780 --> 00:13:39,010 de que a infraestrutura é, sempre que can-- todo 226 00:13:39,010 --> 00:13:42,170 precisa é unha operación sistema, especialmente o Linux. 227 00:13:42,170 --> 00:13:45,460 >> E pode instalar Dock Motor enriba diso e telo funcionando 228 00:13:45,460 --> 00:13:48,970 e orquestra, basicamente, todos estes app un, dous, 229 00:13:48,970 --> 00:13:51,530 e tres envases son reais. 230 00:13:51,530 --> 00:13:53,990 Entón, iso é engine. 231 00:13:53,990 --> 00:13:58,040 Como mencionei anteriormente, porque precisa interactuar con Motor, 232 00:13:58,040 --> 00:13:59,200 hai o cliente. 233 00:13:59,200 --> 00:14:03,180 >> Pero, en realidade, cando se instala Estivador, ven con el. 234 00:14:03,180 --> 00:14:06,110 Por iso, é instalado, polo que é un único binario. 235 00:14:06,110 --> 00:14:11,830 E pode facer chamadas locais no seu Dock engine. 236 00:14:11,830 --> 00:14:14,040 Ou chamadas remotas para motores remotos. 237 00:14:14,040 --> 00:14:16,600 238 00:14:16,600 --> 00:14:19,590 Usa HTTP, como Mencionei anteriormente. 239 00:14:19,590 --> 00:14:24,200 Hai un cliente GUI chamada Kitematic de Dock. 240 00:14:24,200 --> 00:14:26,390 E hai sempre unha morea de outras persoas 241 00:14:26,390 --> 00:14:29,740 que están construíndo unha morea de GUIs que basicamente aplican 242 00:14:29,740 --> 00:14:32,980 algúns HTTP chama para falar engine. 243 00:14:32,980 --> 00:14:35,920 244 00:14:35,920 --> 00:14:39,280 >> Só algúns exemplos de comandos. 245 00:14:39,280 --> 00:14:44,620 Se fai versión Dock, sería amosar-lle a versión do cliente, así como 246 00:14:44,620 --> 00:14:47,030 a versión do servidor. 247 00:14:47,030 --> 00:14:49,500 Se fai iso vai Información Dock dicirlle toda a información 248 00:14:49,500 --> 00:14:54,300 sobre cantos contenedores están en execución ou creado, cantas imaxes que ten, 249 00:14:54,300 --> 00:14:56,530 e así por diante e así por diante. 250 00:14:56,530 --> 00:15:01,850 >> Aquí eu teño, no lado de última caixa, eu teño doutor prazo. 251 00:15:01,850 --> 00:15:04,970 Entón é así que eu son, en realidade, creando recipiente. 252 00:15:04,970 --> 00:15:08,960 E eu estou dándolle a ecoar Ola Mundo e durmir por un segundo e outros enfeites. 253 00:15:08,960 --> 00:15:12,830 E podes ver o resultado. Polo tanto, é en curso. 254 00:15:12,830 --> 00:15:16,930 E semellante ao ps Linux, podes ver Todos os procesos, e, neste caso, 255 00:15:16,930 --> 00:15:18,540 todos os envases en execución. 256 00:15:18,540 --> 00:15:23,430 Esa é remitir o recipiente I acaba de crear. 257 00:15:23,430 --> 00:15:27,560 >> Entón, iso é moi importante porque, como, pode ser un pouco confuso. 258 00:15:27,560 --> 00:15:33,050 Así, as imaxes son o read-only colección de arquivos, non? 259 00:15:33,050 --> 00:15:37,000 Son o que o noso recipiente se basea. 260 00:15:37,000 --> 00:15:40,340 Pero eles están só só de lectura. 261 00:15:40,340 --> 00:15:44,330 Entón comeza unha imaxe de base con. 262 00:15:44,330 --> 00:15:50,180 El tende a imitar SO, sendo así Imaxe de base outros adornos Ubuntu, CentOS ,. 263 00:15:50,180 --> 00:15:53,990 E entón comeza a construír encima que, certas capas, que comporá 264 00:15:53,990 --> 00:16:00,010 súa imaxe final, o resultado final aquí. 265 00:16:00,010 --> 00:16:03,220 >> E cada unha destas capas debe ter unha imaxe de pai 266 00:16:03,220 --> 00:16:06,690 a que fai referencia cando se Realmente quere crear. 267 00:16:06,690 --> 00:16:09,922 Son inmutábeis, no sentido que porque son só de lectura, 268 00:16:09,922 --> 00:16:11,630 non pode realmente cambia-los. 269 00:16:11,630 --> 00:16:17,540 Vostede pode usalos para crear unha recipiente a partir dunha imaxe, que 270 00:16:17,540 --> 00:16:23,530 vai chamar toda a posterior imaxes necesarias debaixo dela. 271 00:16:23,530 --> 00:16:26,400 >> Podes facer cambios a unha capa diferente, 272 00:16:26,400 --> 00:16:28,810 é unha capa de reescrita vou falar en un segundo. 273 00:16:28,810 --> 00:16:31,350 Pero cada unha destas capas non son alteradas. 274 00:16:31,350 --> 00:16:34,300 275 00:16:34,300 --> 00:16:38,670 Basicamente imaxes usar algo chamada Unión do sistema de ficheiros, UFS. 276 00:16:38,670 --> 00:16:42,280 E hai almacenamento diferente backends que utilizan esta tecnoloxía. 277 00:16:42,280 --> 00:16:49,430 E o que iso significa é que reúne os sistemas de ficheiros distintos 278 00:16:49,430 --> 00:16:51,190 para tornalos ollar como un. 279 00:16:51,190 --> 00:16:54,460 >> Entón pode realmente, desde perspectiva de aplicación, 280 00:16:54,460 --> 00:16:59,570 ten un cume dunha exhibición que mostra todo o sistema de ficheiro diferente necesario 281 00:16:59,570 --> 00:17:01,120 para esta aplicación para ser executado. 282 00:17:01,120 --> 00:17:04,400 Pero son realmente, polo que son realmente en lugares separados 283 00:17:04,400 --> 00:17:06,410 e sendo utilizada pola outros recipientes, así. 284 00:17:06,410 --> 00:17:09,569 285 00:17:09,569 --> 00:17:14,410 >> Entón, como podes ver aquí que se comezar a imaxe daemon con 286 00:17:14,410 --> 00:17:18,619 como unha imaxe de base, e logo nós imos e engadir [? emacs?] 287 00:17:18,619 --> 00:17:20,720 e, a continuación, iso é outra capa. 288 00:17:20,720 --> 00:17:21,916 E a continuación, engade Apache. 289 00:17:21,916 --> 00:17:22,790 Esta é outra capa. 290 00:17:22,790 --> 00:17:25,470 E entón pasamos a Recipiente de que. 291 00:17:25,470 --> 00:17:29,760 Cada unha destas imaxes, cada unha destas capas, 292 00:17:29,760 --> 00:17:35,530 é diferente e pode ser reutilizados por outros recipientes. 293 00:17:35,530 --> 00:17:40,070 >> Se ollar para os propios recipientes, son de algunha maneira, como VM-like, 294 00:17:40,070 --> 00:17:41,930 pero non tratado á vez. 295 00:17:41,930 --> 00:17:49,180 Entón, eles non teñen, tecnicamente, o sistema operativo completo debaixo deles. 296 00:17:49,180 --> 00:17:52,630 Eles usan o núcleo do único do sistema operativo anfitrión. 297 00:17:52,630 --> 00:17:54,440 E construír enriba diso. 298 00:17:54,440 --> 00:17:56,250 Eles imitan na súa aparencia. 299 00:17:56,250 --> 00:18:00,710 Eles imitan os seus ficheiros raíz sistema do sistema operativo. 300 00:18:00,710 --> 00:18:04,930 Pero realmente non están replicando. 301 00:18:04,930 --> 00:18:12,080 >> Así, en vez de ter capas inmutábeis, a última capa, que é o recipiente 302 00:18:12,080 --> 00:18:14,690 en si, é unha capa de lectura e escritura. 303 00:18:14,690 --> 00:18:17,350 Que tamén executa os procesos da súa aplicación. 304 00:18:17,350 --> 00:18:23,530 E depende das capas subxacentes. 305 00:18:23,530 --> 00:18:26,730 Cada recipiente é creado a partir dunha imaxe. 306 00:18:26,730 --> 00:18:32,450 E que a imaxe pode ser unha única capa de imaxe ou multicapa. 307 00:18:32,450 --> 00:18:37,200 >> E quero resaltar aquí Dock que usa pesadamente, 308 00:18:37,200 --> 00:18:40,370 ou está baseado Copy-On-Write mecanismo. 309 00:18:40,370 --> 00:18:44,350 De xeito que, en realidade, se non é facer cambios para o recipiente, 310 00:18:44,350 --> 00:18:45,930 non vai tomar espazo extra. 311 00:18:45,930 --> 00:18:49,600 Entón, iso é basicamente como resumir a Copy-On-Write. 312 00:18:49,600 --> 00:18:53,820 Vai definitivamente acelerar o tempo de arranque para o recipiente. 313 00:18:53,820 --> 00:18:56,300 Porque se non está facendo cambios no recipiente, 314 00:18:56,300 --> 00:18:57,800 está utilizando o que xa está aí. 315 00:18:57,800 --> 00:19:01,130 316 00:19:01,130 --> 00:19:02,955 >> Entón, como realmente funciona. 317 00:19:02,955 --> 00:19:06,920 318 00:19:06,920 --> 00:19:14,240 Parte do que é como agora utiliza, polo menos, dous do núcleo tecla 319 00:19:14,240 --> 00:19:14,820 características. 320 00:19:14,820 --> 00:19:17,660 E iso é basicamente o que creado ese nivel de illamento 321 00:19:17,660 --> 00:19:19,550 para os propios contedores. 322 00:19:19,550 --> 00:19:22,290 Estas características son namespaces e cgroups. 323 00:19:22,290 --> 00:19:29,870 Entón, namespaces son unha forma de crear recursos illados, 324 00:19:29,870 --> 00:19:36,290 de xeito que dentro do propio recipiente, só pode ver certos recursos. 325 00:19:36,290 --> 00:19:40,030 Tales como a interface de rede ou os certos grupos ou outros adornos. 326 00:19:40,030 --> 00:19:44,160 >> E os só son visibles e só accesible dentro do recipiente. 327 00:19:44,160 --> 00:19:48,290 Cgroup sobre os outros límites laterais como se usa eses recursos. 328 00:19:48,290 --> 00:19:50,950 CPU, memoria e disco. 329 00:19:50,950 --> 00:19:53,900 Cando se pode ir, eu É dicir, de feito, estas son 330 00:19:53,900 --> 00:19:57,410 características que foron desenvolvidas por-- son parte do núcleo Linux. 331 00:19:57,410 --> 00:20:01,800 Así, eles non foron reinventados por ou recreado por Dock. 332 00:20:01,800 --> 00:20:03,770 Dock usa-los. 333 00:20:03,770 --> 00:20:05,560 >> O que realmente fixo Doutor aquí é, en realidade, 334 00:20:05,560 --> 00:20:08,680 creación orquestrada namespaces para cada recipiente 335 00:20:08,680 --> 00:20:13,320 e creando os cgroups de xeito que sexa ridiculamente fácil para crear recipientes 336 00:20:13,320 --> 00:20:14,870 usar estes recursos. 337 00:20:14,870 --> 00:20:22,910 Claro que, como eu describe anteriormente, Unión File Systems e Copy-on-write verdadeiramente 338 00:20:22,910 --> 00:20:26,810 axudar a velocidade eo disco utilización de envases. 339 00:20:26,810 --> 00:20:28,917 >> E unha vez que comeza o seu mans en torno a Dock, 340 00:20:28,917 --> 00:20:32,000 vai ver como rápido é realmente xirar envases e bágoa 341 00:20:32,000 --> 00:20:32,500 los para abaixo. 342 00:20:32,500 --> 00:20:36,060 343 00:20:36,060 --> 00:20:40,230 Entón, se pode preguntar, como pode realmente construír imaxes? 344 00:20:40,230 --> 00:20:45,940 Nós construír imaxes a través dun proceso de creación de envases e facendo cambios, cambiando 345 00:20:45,940 --> 00:20:50,220 eles, e comprometendo- para facer unha imaxe. 346 00:20:50,220 --> 00:20:54,330 >> Polo tanto, é unha galiña e referencia ovo aquí, 347 00:20:54,330 --> 00:20:57,350 porque todos os envases entren a partir de imaxes e imaxes veñen 348 00:20:57,350 --> 00:21:00,270 desde recipientes cometidos, para a maior parte. 349 00:21:00,270 --> 00:21:03,830 Hai tres opcións para crear imaxes. 350 00:21:03,830 --> 00:21:06,580 Eu estou indo a describir o primeiro eo último. 351 00:21:06,580 --> 00:21:10,060 Pode manualmente ir e executar o recipiente 352 00:21:10,060 --> 00:21:14,280 e facer estas modificacións, como faría en calquera VM 353 00:21:14,280 --> 00:21:17,060 ou calquera sistema operativo, tales como a instalación de novos binarios, 354 00:21:17,060 --> 00:21:19,370 engadindo sistemas de ficheiros, e outros enfeites. 355 00:21:19,370 --> 00:21:22,620 >> E entón saír, como podes ver alí enriba. 356 00:21:22,620 --> 00:21:24,330 Estou saíndo meu recipiente. 357 00:21:24,330 --> 00:21:26,050 E entón eu estou facendo Dock cometer. 358 00:21:26,050 --> 00:21:28,390 E eu estou cometendo iso. 359 00:21:28,390 --> 00:21:31,560 Podes ver que o número aquí é só un UUID, ou o primeiro 12 360 00:21:31,560 --> 00:21:32,810 bits do UUID. 361 00:21:32,810 --> 00:21:34,320 Ou bytes do UUID. 362 00:21:34,320 --> 00:21:35,770 E entón eu estou chamando miña imaxe. 363 00:21:35,770 --> 00:21:39,510 Entón, agora coida de Dock gravar todo o que eu fixen 364 00:21:39,510 --> 00:21:42,830 e crear o novo imaxe con base niso. 365 00:21:42,830 --> 00:21:47,080 366 00:21:47,080 --> 00:21:52,560 >> Non vou falar do arquivo tar, pero hai un xeito pode obter un único, 367 00:21:52,560 --> 00:21:58,200 crear un único, ou facer unha única imaxe da capa empregando tarballs. 368 00:21:58,200 --> 00:22:02,650 O que eu vou falar sobre iso e que se usa principalmente hoxe, 369 00:22:02,650 --> 00:22:03,270 é Dockerfile. 370 00:22:03,270 --> 00:22:07,260 Que é tecnicamente o primeiro paso automatizado, por si só Dock. 371 00:22:07,260 --> 00:22:11,920 Entón Dockerfiles son cousas que está Vai ver unha morea de repos GitHub 372 00:22:11,920 --> 00:22:13,150 hoxe en día. 373 00:22:13,150 --> 00:22:16,420 É basicamente só un arquivo de texto describindo 374 00:22:16,420 --> 00:22:19,780 exactamente como construír unha imaxe. 375 00:22:19,780 --> 00:22:25,540 >> E para cada liña, realmente crea o recipiente, que executa liña, 376 00:22:25,540 --> 00:22:30,480 comprométese que un recipiente en nova imaxe, e, basicamente, 377 00:22:30,480 --> 00:22:36,160 usalo para todas as operacións posteriores ata chegar á última imaxe. 378 00:22:36,160 --> 00:22:39,260 Que é basicamente o acabar obxectivo aquí, o final. 379 00:22:39,260 --> 00:22:42,420 E despois que exec-- tras escribir o seu Dockerfile, que 380 00:22:42,420 --> 00:22:46,750 é puramente en texto, fai un Dock e construír o nome da imaxe. 381 00:22:46,750 --> 00:22:50,000 >> E apunta para que esa é onde a é a Dockerfile. 382 00:22:50,000 --> 00:22:56,570 E pode esperar a ver a miña imaxe como unha imaxe que ten localmente. 383 00:22:56,570 --> 00:22:59,100 Entón, iso é só visual exemplo do que pasa. 384 00:22:59,100 --> 00:23:00,820 Comeza unha imaxe de base con. 385 00:23:00,820 --> 00:23:05,150 Realizar isto nun recipiente que non se modifica a imaxe base en si. 386 00:23:05,150 --> 00:23:08,310 Pero, en vez crea un reescribir a capa enriba dela 387 00:23:08,310 --> 00:23:10,340 onde facer os cambios, en que se comprometer 388 00:23:10,340 --> 00:23:15,050 e repita o proceso ata comeza a súa imaxe final. 389 00:23:15,050 --> 00:23:20,980 >> E ao facelo, as demais compilacións proceso pode usar as mesmas capas 390 00:23:20,980 --> 00:23:23,870 e, basicamente, a same-- Dock almacena en caché esas capas. 391 00:23:23,870 --> 00:23:30,040 Así que, se eu estou facendo exactamente o mesmo proceso, pero no canto de instalar PHP 392 00:23:30,040 --> 00:23:31,540 Estou instalando Python. 393 00:23:31,540 --> 00:23:34,210 Vai utilizar Apache e Ubuntu. 394 00:23:34,210 --> 00:23:39,570 Entón, de que xeito está utilizando o seu disco. 395 00:23:39,570 --> 00:23:42,330 Está utilizando a caché e imaxes dispoñibles alí. 396 00:23:42,330 --> 00:23:45,320 397 00:23:45,320 --> 00:23:48,840 >> A parte final é o rexistro, que é como distribuír as súas imaxes. 398 00:23:48,840 --> 00:23:52,710 E, como xa referín anteriormente, hai unha versión Nube del, 399 00:23:52,710 --> 00:23:54,290 que é Dock Hub. 400 00:23:54,290 --> 00:23:57,550 Pode ir e explorar unha gran cantidade de, basicamente 401 00:23:57,550 --> 00:24:04,900 é un produto público que SAS aínda pode ter imaxes privadas, 402 00:24:04,900 --> 00:24:06,590 pero hai unha morea de imaxes públicas. 403 00:24:06,590 --> 00:24:10,580 En realidade, é ilimitada, pode empuxe imaxes públicas ilimitadas alí. 404 00:24:10,580 --> 00:24:13,730 E é así que poida colaborar co seu equipo. 405 00:24:13,730 --> 00:24:17,159 >> Pode só apuntala-los en ti repo e poden facer a descarga ou a súa imaxe 406 00:24:17,159 --> 00:24:18,200 e poden facer a descarga. 407 00:24:18,200 --> 00:24:21,140 408 00:24:21,140 --> 00:24:24,990 Entón, o suficiente coa conversa. 409 00:24:24,990 --> 00:24:29,110 Quen queira ver algunhas demos ben rápido? 410 00:24:29,110 --> 00:24:31,330 Todo ben. 411 00:24:31,330 --> 00:24:34,050 Entón aquí eu teño. 412 00:24:34,050 --> 00:24:37,480 Ca vós ver miña pantalla? 413 00:24:37,480 --> 00:24:38,390 Todo ben. 414 00:24:38,390 --> 00:24:45,810 >> Entón, eu teño Dock correndo aquí, entón eu pode comprobar it's-- Esta é a versión 415 00:24:45,810 --> 00:24:47,510 de Dock que está en execución. 416 00:24:47,510 --> 00:24:49,320 Información pode facer Dock. 417 00:24:49,320 --> 00:24:55,730 Consulte toda a información sobre cantas teñen imaxes, e así por diante e así por diante. 418 00:24:55,730 --> 00:24:58,890 Dock PS, non hai nada en execución. 419 00:24:58,890 --> 00:25:00,570 Concatenado aqueles. 420 00:25:00,570 --> 00:25:06,370 >> Entón, o primeiro que quero facer é amosar como pode facilmente executar nun recipiente. 421 00:25:06,370 --> 00:25:09,350 Así, a beleza sobre Doutor prazo, se realmente 422 00:25:09,350 --> 00:25:14,700 non atopar unha imaxe localmente, por defecto, fala ao Doutor Hub 423 00:25:14,700 --> 00:25:17,240 e tenta atopalo alí e descargas por vostede. 424 00:25:17,240 --> 00:25:22,820 Por iso, inclúe un Dock mando tirar, naturalmente. 425 00:25:22,820 --> 00:25:26,130 >> Entón, se eu fago un Dock prazo, Ola-mundo. 426 00:25:26,130 --> 00:25:28,890 427 00:25:28,890 --> 00:25:31,200 Entón, primeiro vai para tratar de localizalo. 428 00:25:31,200 --> 00:25:36,140 Se non, como se pode ver aquí, non podería atopalo localmente. 429 00:25:36,140 --> 00:25:41,830 Agora só tirou dúas capas que fixo esa imaxe e eu execute. 430 00:25:41,830 --> 00:25:45,440 O-Ola mundo é basicamente só saídas, o que ten feito. 431 00:25:45,440 --> 00:25:47,680 Polo tanto, este é o máis fácil, un dos exemplos máis fáciles. 432 00:25:47,680 --> 00:25:53,840 Entón, en realidade, eu só corrín e rescindiu o recipiente ben rápido. 433 00:25:53,840 --> 00:25:59,500 >> Se eu queira run-- e pola maneira, se Quero xa que, só así vostede sabe, 434 00:25:59,500 --> 00:26:03,572 este é o tempo que leva para realmente xirar para arriba e contelo. 435 00:26:03,572 --> 00:26:05,030 Estamos medindo a en milisegundos. 436 00:26:05,030 --> 00:26:10,600 Para que poida ver o que iso pode realmente axudar non só en probas, 437 00:26:10,600 --> 00:26:13,200 pero tamén ata a implantación. 438 00:26:13,200 --> 00:26:17,221 Entón esta é unha breve nota sobre iso. 439 00:26:17,221 --> 00:26:18,970 A seguinte cousa que eu son vai facer é, en realidade, 440 00:26:18,970 --> 00:26:21,930 realizar unha imaxe que eu xa preparei. 441 00:26:21,930 --> 00:26:24,460 Así xanela de encaixe prazo. 442 00:26:24,460 --> 00:26:27,240 -d é só unha bandeira que dicir que sexa executado en segundo plano. 443 00:26:27,240 --> 00:26:30,290 E -p atribúe determinadas portas. 444 00:26:30,290 --> 00:26:32,670 Porque, por defecto, o envases son illados, 445 00:26:32,670 --> 00:26:36,080 entón ten que especificar exactamente como pode acceder a eles. 446 00:26:36,080 --> 00:26:41,150 E neste caso, digo Dock para mapear unha porta aleatoria no servidor 447 00:26:41,150 --> 00:26:44,560 a un porto especificado dentro o propio recipiente. 448 00:26:44,560 --> 00:26:47,130 449 00:26:47,130 --> 00:26:56,460 E iso é basicamente onde a image-- espero que este é o camiño correcto. 450 00:26:56,460 --> 00:27:01,780 >> Entón, fai descargas paralelos cada desas capas como podes ver aquí. 451 00:27:01,780 --> 00:27:06,949 Aqueles son das capas facendo a imaxe final que constrúe. 452 00:27:06,949 --> 00:27:08,115 Vai levar un segundo. 453 00:27:08,115 --> 00:27:11,290 454 00:27:11,290 --> 00:27:12,370 E listo. 455 00:27:12,370 --> 00:27:16,590 >> Polo tanto, agora se eu fai un ps xanela de encaixe, que debería ver algo que está en execución. 456 00:27:16,590 --> 00:27:22,250 I que ver o ID, a imaxe que este foi baseado fóra, 457 00:27:22,250 --> 00:27:23,880 e a orde que foi executado. 458 00:27:23,880 --> 00:27:28,720 E como acceder a ela é basicamente ir a esa porta. 459 00:27:28,720 --> 00:27:33,240 Entón, eu estou indo a ir a-- este é que eu estou executando o en AWS. 460 00:27:33,240 --> 00:27:37,150 Eu estou indo a ir a 32769. 461 00:27:37,150 --> 00:27:37,650 Oops. 462 00:27:37,650 --> 00:27:40,495 463 00:27:40,495 --> 00:27:41,120 E aquí imos nós. 464 00:27:41,120 --> 00:27:44,550 >> Polo tanto, esta é realmente só un servizo web que amosa 465 00:27:44,550 --> 00:27:46,240 que recipiente que está a ser servido a partir. 466 00:27:46,240 --> 00:27:50,450 Entón podes ver que é de recipiente a9f. 467 00:27:50,450 --> 00:27:52,850 E aquí esta é a nome do contenedor. 468 00:27:52,850 --> 00:27:56,550 Entón podedes ver como rápido el foi, de feito, non só pero tamén tirar 469 00:27:56,550 --> 00:28:00,440 implantar este recipiente. 470 00:28:00,440 --> 00:28:05,070 >> Agora, o seguinte paso é a mirar para Dockerfiles 471 00:28:05,070 --> 00:28:09,430 e como podemos, de feito, construír novas imaxes. 472 00:28:09,430 --> 00:28:15,250 Eu só estou indo a ir buscar clon, unha sample Dockerfile a base do anteriormente 473 00:28:15,250 --> 00:28:17,755 diagrama, o único que Apache e PHP. 474 00:28:17,755 --> 00:28:26,740 475 00:28:26,740 --> 00:28:28,140 Esperemos que eu recordo do meu repo. 476 00:28:28,140 --> 00:28:36,410 477 00:28:36,410 --> 00:28:38,750 >> Entón, eu teño o meu depósito agora. 478 00:28:38,750 --> 00:28:43,080 E vai ver moito iso de feito. 479 00:28:43,080 --> 00:28:45,110 Non instalar árbore. 480 00:28:45,110 --> 00:28:48,700 >> Entón, basicamente, vai ver como a documentación do código fonte en torno a 481 00:28:48,700 --> 00:28:51,240 Lo, e logo un Dockerfile en como realmente embalaxe-lo. 482 00:28:51,240 --> 00:28:57,970 Entón é só unha mostra PHP que ecoa Ola CS50. 483 00:28:57,970 --> 00:29:01,550 >> Entón, se eu queira para executalo, Vou facer de compilación xanela de encaixe. 484 00:29:01,550 --> 00:29:03,370 Teño que construír primeiro. 485 00:29:03,370 --> 00:29:12,420 Eu estou indo a nomea-la demo_cs50. 486 00:29:12,420 --> 00:29:16,470 E precisas dunha etiqueta a el tamén. 487 00:29:16,470 --> 00:29:19,802 Entón, imos chamalo v1 dot. 488 00:29:19,802 --> 00:29:21,760 Entón, como eu describe anteriormente, o que estou facendo hoxe 489 00:29:21,760 --> 00:29:26,840 é que eu estou dicindo para ir Dock uso isso--, en realidade, desculpe, meu mal. 490 00:29:26,840 --> 00:29:29,450 491 00:29:29,450 --> 00:29:32,500 Non dea un ollo no propio Dockerfile. 492 00:29:32,500 --> 00:29:39,020 Así, as únicas cousas aquí son index.php, así como o arquivo léase me 493 00:29:39,020 --> 00:29:39,810 e un Dockerfile. 494 00:29:39,810 --> 00:29:44,600 >> Entón, se dea un ollo o Dockerfile, polo que é 495 00:29:44,600 --> 00:29:47,150 moi semellante ao que Eu describe anteriormente. 496 00:29:47,150 --> 00:29:51,220 É só unha morea de etapas que executa Dock 497 00:29:51,220 --> 00:29:56,330 creando e destruíndo recipientes e [? contando?] - los nunha imaxe. 498 00:29:56,330 --> 00:29:59,570 >> E, basicamente, pode see-- [inaudível] que aqui-- 499 00:29:59,570 --> 00:30:04,340 pero esta é a partir do repo local. 500 00:30:04,340 --> 00:30:06,410 Vai ir e coller index.php. 501 00:30:06,410 --> 00:30:10,970 Entón, ese é o único código fonte que son en realidade parte do seu programa. 502 00:30:10,970 --> 00:30:16,800 Todo isto son basicamente canalización do sistema operativo, 503 00:30:16,800 --> 00:30:21,460 recibindo os paquetes correctamente e Apache e PHP, e outros enfeites. 504 00:30:21,460 --> 00:30:26,950 Pero este é, en realidade, tendo index.php e cometelo lo para dentro do recipiente, 505 00:30:26,950 --> 00:30:28,210 na imaxe. 506 00:30:28,210 --> 00:30:33,120 >> Polo tanto, se vai adiante e executa o mando, facendo o seguinte, 507 00:30:33,120 --> 00:30:36,155 é, en realidade, going--, isto pode levar un pouco. 508 00:30:36,155 --> 00:30:40,870 509 00:30:40,870 --> 00:30:42,455 Esperemos que non levar moito. 510 00:30:42,455 --> 00:30:45,129 511 00:30:45,129 --> 00:30:46,170 Para que poida ver os pasos. 512 00:30:46,170 --> 00:30:49,320 E eu encouraged-lo a ir de volta a casa hoxe e probalo. 513 00:30:49,320 --> 00:30:51,280 E Mano ha describir exactamente como facelo. 514 00:30:51,280 --> 00:30:57,810 Pero é realmente excelente para ver exactamente o que está a suceder nos bastidores. 515 00:30:57,810 --> 00:31:02,420 Pero é ridiculamente fácil de construír imaxes e implanta-las usando Dock. 516 00:31:02,420 --> 00:31:12,170 517 00:31:12,170 --> 00:31:14,050 >> Está demorando un pouco máis do que eu esperaba. 518 00:31:14,050 --> 00:31:29,085 519 00:31:29,085 --> 00:31:32,690 >> Imos ver que pasa cando vocę-- arrefriar. 520 00:31:32,690 --> 00:31:36,260 Entón, como podes ver, cada unha destas etapas representan liñas no Dockerfile. 521 00:31:36,260 --> 00:31:42,570 E aquí que mostra construíu con éxito esta imaxe. 522 00:31:42,570 --> 00:31:46,480 >> Entón, se eu fago imaxes Estivador, eu vou ver todas as imaxes que eu teño localmente. 523 00:31:46,480 --> 00:31:52,160 E un deles chámase meu nome de usuario eo nome da imaxe, 524 00:31:52,160 --> 00:31:56,050 ea etiqueta de representing-- principalmente é unha marca de versión. 525 00:31:56,050 --> 00:31:58,040 >> Polo tanto, agora quero correr Lo, fago xanela de encaixe prazo. 526 00:31:58,040 --> 00:32:06,040 527 00:32:06,040 --> 00:32:14,960 E eu só quero facer un -P -d. Fai v1. 528 00:32:14,960 --> 00:32:18,500 Así podo ver agora que eu teño dous envases de execución, o que eu só 529 00:32:18,500 --> 00:32:21,230 creado e Ola Dock un que teño pasado. 530 00:32:21,230 --> 00:32:24,320 >> E podes ver aquí que atribuíu un porto diferente. 531 00:32:24,320 --> 00:32:30,710 Entón, se eu ir ao mesmo IP, pero atribuílo lo un port-- diferente espera que eu non fixen. 532 00:32:30,710 --> 00:32:33,060 Entón, agora que é aplicación que só implantado. 533 00:32:33,060 --> 00:32:35,980 534 00:32:35,980 --> 00:32:43,900 >> Se eu queira facer cambios, I pode editar rapidamente o código fonte 535 00:32:43,900 --> 00:32:49,050 e faga o seguinte. 536 00:32:49,050 --> 00:32:55,170 Imos facer Ola Harvard. 537 00:32:55,170 --> 00:32:57,989 Entón agora o que está pasando a ocorrer é que eu son 538 00:32:57,989 --> 00:32:59,905 vai marcalo cun diferente version-- oh, 539 00:32:59,905 --> 00:33:03,080 non esta guy-- marcalo cunha versión diferente. 540 00:33:03,080 --> 00:33:05,735 E está indo see-- facer vostedes esperan 541 00:33:05,735 --> 00:33:11,020 para ter a mesma cantidade de tempo constrúe-lo unha segunda vez, ou non? 542 00:33:11,020 --> 00:33:14,470 Todo ben, e ninguén sabe por que? 543 00:33:14,470 --> 00:33:15,020 Fala-se. 544 00:33:15,020 --> 00:33:16,350 >> Audiencia: [inaudível] 545 00:33:16,350 --> 00:33:19,830 >> NICOLA kabar: É basicamente nós só cambian un dos pasos máis adiante. 546 00:33:19,830 --> 00:33:23,110 E, polo tanto, que vai utilizar o cache e utilizar cada unha destas capas. 547 00:33:23,110 --> 00:33:27,080 E iso é realmente algúns dos características do asasino de Dock 548 00:33:27,080 --> 00:33:32,930 é como realmente utiliza e reutilizações asumir 549 00:33:32,930 --> 00:33:36,950 o disco para o mesmo pezas exactas de información. 550 00:33:36,950 --> 00:33:40,700 >> Entón, se nós facemos o mesmo, tardou só uns segundos. 551 00:33:40,700 --> 00:33:48,860 Se queremos redeploy-- agora Eu debería ter tres recipientes. 552 00:33:48,860 --> 00:33:56,160 Pero este está a ser servido nun as-- sete. 553 00:33:56,160 --> 00:33:58,860 Polo tanto, agora é o terceiro recipiente. 554 00:33:58,860 --> 00:34:02,580 Todo o mundo entende o que eu fixen aquí? 555 00:34:02,580 --> 00:34:06,320 >> Polo tanto, agora se quere compartir esa recipiente ben rápido cos seus amigos, 556 00:34:06,320 --> 00:34:14,840 pode só facer estivador empurrar o nome do contenedor, eu espero. 557 00:34:14,840 --> 00:34:20,130 Entón, agora que vai empurralo lo para-- Non estou asinado en aquí. 558 00:34:20,130 --> 00:34:33,511 559 00:34:33,511 --> 00:34:34,219 Sentímolo por iso. 560 00:34:34,219 --> 00:34:39,219 Pero eu non vou solucionar isto agora. 561 00:34:39,219 --> 00:34:42,780 Pero, basicamente, que un comando é só ir ata empurralo. 562 00:34:42,780 --> 00:34:45,670 E vai ser capaz de velo se vai para Dock Hub 563 00:34:45,670 --> 00:34:48,587 E log in, que é vai ser capaz de velo. 564 00:34:48,587 --> 00:34:50,420 E entón podes só apuntar quen vai 565 00:34:50,420 --> 00:34:52,750 usar esa imaxe para ir e puxe-o. 566 00:34:52,750 --> 00:34:55,460 E poden usalo. 567 00:34:55,460 --> 00:34:57,760 >> Con iso, esperamos Eu medio que demostraron 568 00:34:57,760 --> 00:35:01,230 como é fácil traballar con Dock. 569 00:35:01,230 --> 00:35:06,610 E eu estou indo só para devolve-lo para Mano. 570 00:35:06,610 --> 00:35:11,760 E vai leva-lo a partir de aquí. 571 00:35:11,760 --> 00:35:13,990 >> MANO MARCAS: Todo ben grazas, grazas Nico. 572 00:35:13,990 --> 00:35:18,700 573 00:35:18,700 --> 00:35:20,614 E que? 574 00:35:20,614 --> 00:35:24,410 Entón, unha das cousas que máis me quería facer é poñer xuntos 575 00:35:24,410 --> 00:35:28,820 porque este é un importante-- Dock por que e por que 576 00:35:28,820 --> 00:35:33,000 envases son tal importante novo desenvolvemento, 577 00:35:33,000 --> 00:35:36,890 unha nova forma de realmente facer software. 578 00:35:36,890 --> 00:35:41,300 >> E antes de que eu fago, eu vou só presentar algunhas estatísticas. 579 00:35:41,300 --> 00:35:42,790 Non vou ler todo isto. 580 00:35:42,790 --> 00:35:52,540 Pero iso demostra moito sobre como popular, este é na comunidade. 581 00:35:52,540 --> 00:35:56,310 As tecnoloxías Dock núcleo son de código aberto. 582 00:35:56,310 --> 00:36:03,560 Entón, iso é Dock engine, Compose, Swarm, unha morea de outras cousas 583 00:36:03,560 --> 00:36:05,210 é todo código aberto. 584 00:36:05,210 --> 00:36:10,590 E nós temos, o que eu fixen dicir, 1.300 colaboradores. 585 00:36:10,590 --> 00:36:15,630 Estás a ver agora, se ollar para o número de prazas de emprego, a última vez 586 00:36:15,630 --> 00:36:19,640 nós miramos, era uns 43.000 traballo ocos especificamente mencionando 587 00:36:19,640 --> 00:36:22,230 familiaridade con Dock. 588 00:36:22,230 --> 00:36:26,450 Centos de millóns de imaxes teñen foi descargado do Dock Hub. 589 00:36:26,450 --> 00:36:31,870 E, así, moito máis grandes stats. 590 00:36:31,870 --> 00:36:34,770 >> Para os que están curiosos, el foi orixinalmente escrito en Python 591 00:36:34,770 --> 00:36:37,730 e despois reescrito en Go. 592 00:36:37,730 --> 00:36:40,320 E só pasaron abrir source-- é só 593 00:36:40,320 --> 00:36:44,950 foi liberado a preto de 2 anos e 1/2, o que significa que en 2 e 1/2 anos, 594 00:36:44,950 --> 00:36:48,020 vimos unha cantidade enorme de crecemento e importancia 595 00:36:48,020 --> 00:36:50,190 desta na comunidade. 596 00:36:50,190 --> 00:36:52,400 E así quero falar un pouco sobre o por que. 597 00:36:52,400 --> 00:36:54,940 598 00:36:54,940 --> 00:36:59,880 >> Entón, só para reiterar algunhas das Puntos clave de Nico, Dock é rápido. 599 00:36:59,880 --> 00:37:00,630 É portátil. 600 00:37:00,630 --> 00:37:02,500 É reprodutível. 601 00:37:02,500 --> 00:37:06,130 E créase un ambiente defecto. 602 00:37:06,130 --> 00:37:13,370 >> E what-- esta é a miña cágado erradicar monolitos que slide-- 603 00:37:13,370 --> 00:37:17,990 está axudando a xente, que un lote da industria de software 604 00:37:17,990 --> 00:37:21,400 comecei a facer o comezos de 2000, está movendo 605 00:37:21,400 --> 00:37:24,200 a partir destes monolítico aplicacións individuais 606 00:37:24,200 --> 00:37:28,590 onde cada dependencia tiña que ser probado antes de que a aplicación enteiro tiña 607 00:37:28,590 --> 00:37:31,280 para ser implantado, o que podería significar un sitio 608 00:37:31,280 --> 00:37:36,240 só ten implantado xa cada tres meses, ou máis, 609 00:37:36,240 --> 00:37:42,650 a unha moito máis servizo arquitectura orientada 610 00:37:42,650 --> 00:37:46,090 ou en compoñentes tipo de arquitectura de aplicación. 611 00:37:46,090 --> 00:37:48,610 E así permitindo que estes tipo de arquitecturas 612 00:37:48,610 --> 00:37:52,250 que aproveitan Dock para realizar nestes tres 613 00:37:52,250 --> 00:37:58,450 principais áreas de desenvolvemento, que é o desenvolvemento de escribir o seu código real, 614 00:37:58,450 --> 00:38:00,140 probar o seu código, e implanta-lo. 615 00:38:00,140 --> 00:38:03,000 616 00:38:03,000 --> 00:38:05,420 >> Entón, por que iso é importante? 617 00:38:05,420 --> 00:38:09,920 Se é um-- deixe-me dar un exemplo. 618 00:38:09,920 --> 00:38:13,600 Se vostede é un sitio web creador dispositivo, é 619 00:38:13,600 --> 00:38:19,020 desenvolvemento dun sitio web que está baseado no base de datos que David producido aquí. 620 00:38:19,020 --> 00:38:20,490 Sentímolo David, eu estou te chamando para fóra. 621 00:38:20,490 --> 00:38:22,984 622 00:38:22,984 --> 00:38:24,900 Se quería para implantar a cousa toda, ten 623 00:38:24,900 --> 00:38:28,870 ten que esperar baixo un tradicional desenvolvemento de software monolítico 624 00:38:28,870 --> 00:38:32,710 ambiente, que tería que esperar ata que se fixo co banco de datos 625 00:38:32,710 --> 00:38:36,030 antes de que poida realmente facer os cambios ao seu sitio web. 626 00:38:36,030 --> 00:38:40,900 Vostede tería que reimplantar o Toda aplicación de facelo. 627 00:38:40,900 --> 00:38:45,490 >> E o que Dock axuda a facer é cada persoa traballo en compoñentes distintos 628 00:38:45,490 --> 00:38:52,990 e actualiza-los como eles van, só facendo Asegúrese de que as interfaces permanecer o mesmo. 629 00:38:52,990 --> 00:38:56,350 Entón, o que fixo é que é desprazada persoas 630 00:38:56,350 --> 00:39:03,950 de facer estes macizo monolítico software que arquitetado 631 00:39:03,950 --> 00:39:07,610 implantado cada mes a un continuo integración e desenvolvemento continuo 632 00:39:07,610 --> 00:39:08,490 ambiente. 633 00:39:08,490 --> 00:39:12,580 >> Agora, iso non é exclusivo para Dock, pero Dock fai moito máis fácil, 634 00:39:12,580 --> 00:39:16,620 o que significa que é, basicamente, constantemente implantando. 635 00:39:16,620 --> 00:39:20,690 Nós falamos con empresas que son implantación de aplicacións dirixidos ao público 636 00:39:20,690 --> 00:39:30,180 miles de veces ao día, porque ven o valor en só facendo 637 00:39:30,180 --> 00:39:33,740 pequenos cambios, e sempre como é executado a través das probas, 638 00:39:33,740 --> 00:39:35,900 deixar ir para fóra en produción. 639 00:39:35,900 --> 00:39:41,890 Nico estaba sempre me dicindo antes que en moitos ambientes, 640 00:39:41,890 --> 00:39:46,580 o ciclo de vida normal dun recipiente mídese en segundos, 641 00:39:46,580 --> 00:39:50,460 Considerando unha máquina virtual se pode medir en meses. 642 00:39:50,460 --> 00:39:54,590 643 00:39:54,590 --> 00:39:58,690 >> Quería facer unha lixeira Xire aquí, porque eu son 644 00:39:58,690 --> 00:40:00,170 nunha institución educativa. 645 00:40:00,170 --> 00:40:06,670 Eu quería dar un exemplo de como funciona nunha investigación educativa 646 00:40:06,670 --> 00:40:07,670 situación. 647 00:40:07,670 --> 00:40:10,930 Polo tanto, hai unha organización chamados bioboxes. 648 00:40:10,930 --> 00:40:15,450 O ADN Bioboxes análise para os investigadores. 649 00:40:15,450 --> 00:40:22,029 >> Agora, o que descubriron foi que, cando un researcher-- e este non está 650 00:40:22,029 --> 00:40:24,070 a falla de calquera especial researcher-- pero cando 651 00:40:24,070 --> 00:40:31,240 un investigador implantado un algoritmo para analizar, 652 00:40:31,240 --> 00:40:36,670 De xeito particular, unha mostra de ADN, eles ían escribir o software, 653 00:40:36,670 --> 00:40:39,980 publicar que, quizais para GitHub ou noutro lugar, 654 00:40:39,980 --> 00:40:42,680 e, a continuación, eles foron feitos. 655 00:40:42,680 --> 00:40:47,440 >> Ben, o problema foi que non era necesariamente reprodutível. 656 00:40:47,440 --> 00:40:51,610 Porque, a fin de comprender o software, 657 00:40:51,610 --> 00:40:54,830 que sería creado para o ambiente exacta desenvolvemento 658 00:40:54,830 --> 00:41:00,460 que investigador que emprega, xeralmente seu portátil, ou un servidor, ou un conxunto de datos 659 00:41:00,460 --> 00:41:04,280 o centro que estaban a usar. 660 00:41:04,280 --> 00:41:11,530 E, en consecuencia, era moi difícil para reproducir os resultados da investigación cando 661 00:41:11,530 --> 00:41:16,910 análise das mostras de ADN para ollar en cousas como incidence-- 662 00:41:16,910 --> 00:41:23,830 comparar incidencia de infartos en base a determinados xenes estaren presentes, 663 00:41:23,830 --> 00:41:28,900 por exemplo, ou o risco de cancro, ou calquera dos outros tipos de cousas. 664 00:41:28,900 --> 00:41:33,900 >> Entón, o que fixeron no canto foi eles comezaron a crear recipientes. 665 00:41:33,900 --> 00:41:39,380 E pode ir bioboxes.org, é unha gran organización. 666 00:41:39,380 --> 00:41:43,900 E o que fan é que eles producen recipientes en base a investigacións. 667 00:41:43,900 --> 00:41:46,840 E entón, cando alguén envía na súa mostra, poden executalo. 668 00:41:46,840 --> 00:41:52,770 E ten todo o ambiente necesario para realizar ese algoritmo 669 00:41:52,770 --> 00:41:55,370 e producir os resultados. 670 00:41:55,370 --> 00:41:58,250 E eles están descubrindo que son moito máis probable e máis 671 00:41:58,250 --> 00:42:01,300 canto poder devolver resultados para as persoas. 672 00:42:01,300 --> 00:42:06,860 >> E, de feito, o que a xente está facendo está executando a súa propia análise sobre o ADN, 673 00:42:06,860 --> 00:42:11,220 en que o envío para bioboxes, e entón biobox só ten os datos, 674 00:42:11,220 --> 00:42:15,350 executa-lo contra a variedade envases de diferentes 675 00:42:15,350 --> 00:42:19,030 para ver resultados diferentes en base a investigación diferente. 676 00:42:19,030 --> 00:42:21,860 Polo tanto, é unha moi poderosa xeito en que os investigadores 677 00:42:21,860 --> 00:42:28,070 pode facer unha única instancia que permite outras persoas para intentar reproducir 678 00:42:28,070 --> 00:42:28,650 os resultados. 679 00:42:28,650 --> 00:42:31,710 680 00:42:31,710 --> 00:42:34,360 >> Entón, como comezou? 681 00:42:34,360 --> 00:42:37,950 682 00:42:37,950 --> 00:42:39,800 Estamos ben soportado en Linux. 683 00:42:39,800 --> 00:42:43,070 Entón, se quere instalar nada en Linux, 684 00:42:43,070 --> 00:42:45,620 usa o seu patrón xestor de paquetes para instalar. 685 00:42:45,620 --> 00:42:47,600 Se está usando un Debian, é get apt. 686 00:42:47,600 --> 00:42:50,500 CentOS é yum. 687 00:42:50,500 --> 00:42:53,500 Fedora da Red Hat é rpm-- Non me lembro. 688 00:42:53,500 --> 00:42:56,070 En calquera caso, está todo alí. 689 00:42:56,070 --> 00:42:59,610 Apoiamos unha gran variedade de distribucións Linux. 690 00:42:59,610 --> 00:43:01,150 Podes comprobar os para fóra. 691 00:43:01,150 --> 00:43:06,370 >> Tamén temos opcións para que Pode ser executado en Mac ou Windows. 692 00:43:06,370 --> 00:43:10,670 Agora Nico mencionado anteriormente que foi soportado só en Linux. 693 00:43:10,670 --> 00:43:18,180 Isto é verdade porque precisa dun núcleo de Linux. 694 00:43:18,180 --> 00:43:20,540 Pero, pode ser executado nunha máquina virtual. 695 00:43:20,540 --> 00:43:25,290 E o que o Dock Toolbox fai, que podes baixar, 696 00:43:25,290 --> 00:43:27,610 dálle esa máquina virtual. 697 00:43:27,610 --> 00:43:37,260 >> Así, só unha rápida 48 en segundo lugar, penso eu, a baixar. 698 00:43:37,260 --> 00:43:40,670 Só buscar en Dock Caixa de ferramentas, transferir-lo para o Mac, 699 00:43:40,670 --> 00:43:43,910 e esta parte é de Claro acelerou porque quen 700 00:43:43,910 --> 00:43:47,620 quere ver un sinal de descarga? 701 00:43:47,620 --> 00:43:54,190 Instalación de Mac defecto, e entón está 702 00:43:54,190 --> 00:43:59,795 vai ver Jerome poñer na súa contrasinal. 703 00:43:59,795 --> 00:44:00,670 Isto é moi emocionante. 704 00:44:00,670 --> 00:44:03,510 705 00:44:03,510 --> 00:44:06,230 E, a continuación, el instala un todo morea de ferramentas. 706 00:44:06,230 --> 00:44:10,010 E, sobre todo, que vai instalar unha liña de comandos. 707 00:44:10,010 --> 00:44:14,220 E entón podes ver Jerome probando as súas imaxes. 708 00:44:14,220 --> 00:44:19,050 709 00:44:19,050 --> 00:44:22,640 >> E, a continuación, con base niso, podes ver que YouTube 710 00:44:22,640 --> 00:44:27,420 Pensas que Nico interesa Star Wars, O show Jimmy Kimmel, 711 00:44:27,420 --> 00:44:29,020 e eu creo que Ellen. 712 00:44:29,020 --> 00:44:34,130 Penso que último é un clip de un show de Ellen. 713 00:44:34,130 --> 00:44:37,760 >> Entón Dock Toolbox vén aínda con máis que Máquina Dock. 714 00:44:37,760 --> 00:44:39,840 Entón Dock Machine é o único que axuda 715 00:44:39,840 --> 00:44:43,710 configurar un virtual máquina no seu Windows 716 00:44:43,710 --> 00:44:52,080 ou Mac-- súa caixa de Windows ou Mac box-- e axuda a facer o provisionais, 717 00:44:52,080 --> 00:44:54,040 >> Pero tamén ven con Swarm e Compose, 718 00:44:54,040 --> 00:45:00,840 que son deseñados para axudar a facer grande implementacións a escala da súa aplicación. 719 00:45:00,840 --> 00:45:04,000 Entón, se quere xestionar clusters de nós, 720 00:45:04,000 --> 00:45:08,450 aglomerados de contedores, compoñer e Swarm son a forma de ir sobre el. 721 00:45:08,450 --> 00:45:11,430 >> E, claro, el ven con Dock Motor e Kitematic, 722 00:45:11,430 --> 00:45:13,250 o que é esa GUI escritorio. 723 00:45:13,250 --> 00:45:17,060 Quere tamén de mencionar Dock Rexistro, que non está incluído no cadro de ferramentas, 724 00:45:17,060 --> 00:45:23,150 pero é un xeito para que executa o seu propio rexistros de Dock Imaxes como Dock 725 00:45:23,150 --> 00:45:28,970 Hub, pero tamén pode simplemente usar Dock Hub como un xeito de facelo. 726 00:45:28,970 --> 00:45:32,955 >> E, reviravolta na historia, está a ver Lo funcionando nun recipiente. 727 00:45:32,955 --> 00:45:34,830 E é así que somos distribución dos nosos diapositivas. 728 00:45:34,830 --> 00:45:38,610 Toda esa presentación é en realidade, un conxunto de diapositivas en HTML. 729 00:45:38,610 --> 00:45:43,170 E está a ser executado nun contedores, que pode obter por-- 730 00:45:43,170 --> 00:45:45,596 >> NICOLA kabar: Si, por iso é funcionando a tempo completo no meu Max. 731 00:45:45,596 --> 00:45:47,540 E eu estou presentando a partir del. 732 00:45:47,540 --> 00:45:50,910 E acaba de facer Dock despois instalar o Toolbox. 733 00:45:50,910 --> 00:45:57,340 Pode só facer unha carreira de estivador e obtelo, e utilizar os diapositivas. 734 00:45:57,340 --> 00:45:58,830 >> MANO MARCAS: E iso. 735 00:45:58,830 --> 00:46:02,160 Por iso, gracias a todos por vir. 736 00:46:02,160 --> 00:46:03,990 E estamos felices en responder a preguntas. 737 00:46:03,990 --> 00:46:07,810 Debo mencionar antes de que alguén deixa alí é camiseta por alí. 738 00:46:07,810 --> 00:46:10,940 Sentímolo quen está a asistir isto Livestream ou vídeo, 739 00:46:10,940 --> 00:46:12,820 pero temos Dock camisetas por alí. 740 00:46:12,820 --> 00:46:16,250 E sabemos alumnos Dock, e na miña experiencia, 741 00:46:16,250 --> 00:46:18,940 profesores tamén, como roupa libre. 742 00:46:18,940 --> 00:46:22,490 >> Entón, grazas a todos por vir. 743 00:46:22,490 --> 00:46:27,050 E siga connosco en Twitter se quere, ou non. 744 00:46:27,050 --> 00:46:27,910 Eu non me importa. 745 00:46:27,910 --> 00:46:29,430 Tamén seguir Dock en Twitter. 746 00:46:29,430 --> 00:46:31,890 Isto tamén é interesante. 747 00:46:31,890 --> 00:46:32,990 E entón é iso. 748 00:46:32,990 --> 00:46:33,490 Docker.com. 749 00:46:33,490 --> 00:46:35,410 Grazas. 750 00:46:35,410 --> 00:46:39,360 >> [Aplausos] 751 00:46:39,360 --> 00:46:41,625