>> [Música tocando]
DAVID Malan: Todo ben.
Moitas grazas por vir.
Este é seminario CS50 en encaixe, un tecnoloxía que nós mesmos e CS50 we
comezaron a usar por algún tempo agora.
Entón, meu nome é David Malan, I ensinar Introdución de Harvard
de Ciencia da Computación.
Por moito anos, vimos dar aos estudantes
do lado do cliente para descargar máquinas virtuais
onde se fan os seus problemas actuacións.
Que temos agora a transición para un ambiente de nube
que realmente usa esa tecnoloxía chamado de encaixe, de tal xeito que todo o CS50
os alumnos agora teñen a súa recipientes propios Dock
que en breve vai escoitar todo.
>> Ademais, no servidor de CS50 cluster de lado, por moitos anos
estabamos usando servidor na nube de Amazon.
Que estaban correndo individuo máquinas virtuais.
Iso tamén, comezamos a facer a transición cara isto chamadas recipientes Dock
de xeito que todas as nosas aplicacións son agora perfectamente illadas unha da outra.
Así, por iso e moito máis, permitan-me presentar os nosos amigos, Nico e Mano,
da propia Dock.
NICOLA kabar: Grazas, David.
Ola a todos.
O meu nome é Nico e este é Mano.
Somos de Dock.
Nós imos estar falando about-- dando a vostedes unha introdución para Dock,
e espero que, a finais desa conversa pode entender
o que pode usar para médico oxalato seu desenvolvemento de aplicacións
e implantación.
>> Entón, imos comezar reais rápido con unha información de fondo.
Describe o Dock é todo.
Como funciona isto?
Como é arquitetado?
Eu vou estar facendo algúns demos.
E Mano será describindo como pode usar Dock
e dándolle os pasos específicos como pode comezar.
>> Eu apreciar se vostedes poden soster off para as súas preguntas para o final.
Desta forma, eu podería estar dirixido a aqueles preguntas durante a presentación.
Entón, imos deixar algún tempo ao final para preguntas.
>> Entón, só real rápido, que ten de feito, nunca traballou en Dock,
como xogar con el?
Impresionante.
Legal.
Gran.
Entón, eu vou comezar cun pouco de historia.
Entón, de volta os anos 90 e 2000s adiantados basicamente
como desenvolvedores web, desenvolvedores de aplicacións, cando eles foron para implantar unha aplicación
foi amarrado a nu metal.
Era un servidor.
Foi unha aplicación.
>> Tradicionalmente, un exemplo Sería como unha pila lámpadas,
onde realmente tivo que abrir o pool de recursos.
CPU, memoria, disco, rede, instalación sistema operativo enriba diso.
Se está servindo algo, se está realmente tendo servidor web,
precisa de algo así como Apache para servi-lo.
>> Se a súa aplicación Debe de base de datos, backhand,
instalar algo como MySQL, e así por diante.
E se precisa o tempo de execución, PHP e traballo PHP Python estaban alí.
E así nós realmente tiven que tomar esas medidas a fin
para obter o seu programa instalado e funcionando.
>> Se precisa máis poder de computación que, basicamente tiven que chamar o seu Ops cara
ou gala para ir e acumular un novo peza de hardware, conecta-lo,
e ten que repetir os procesos de novo e de novo.
Polo tanto, este proceso foi relativamente caro.
Definitivamente foi moi lento.
>> Foi ineficiente.
E en moitos casos, o seu hardware foi subutilizado.
Así, a finais dos anos 90 e principios dos anos 2000, virtualización de hardware veu adiante.
E como se pode ver aquí no imaxe, basicamente o que fixeron
é abstraída da piscina de características de hardware gratuítos
e tipo de servir os para as capas superiores,
Neste caso, un hóspede ordenador.
>> E toda a idea de máquinas virtuais deparei
e que realmente axudou Nube computación como a coñecemos hoxe.
Entón, o que quería dicir é que pode realizar varias VMS, que
significou varias pilas, múltiples aplicación nunha mesma máquina física.
>> Isto sempre axudou co velocidade de implantación da aplicación.
Definitivamente cos gastos.
Non ten que ir e gastar enerxía, tempo e recursos para rack
máis servidores para chegar a máis de computación.
E, de feito, a velocidade de traer os recursos superior é moito máis rápido.
Gran.
>> Entón nós decidimos a fame no mundo, non?
Non, non realmente.
Así, a virtualización tanto como é realmente axudou, a resolución do problema,
realmente introducido moitos retos.
O hypervisor definitivamente introducido unha morea de complexidade,
manipulación aqueles subxacente conxunto de recursos.
>> É máis pesado no sentido de que antes tiña un único sistema operativo que
é como tres, catro concertos no disco.
Agora, se ten 10 máquinas nun único hardware
ten que multiplicar ese polo número de máquinas.
É sempre máis caro nun sentido aínda
ten que obter licenzas para a tecnoloxía de virtualización
se non é de código aberto.
>> Pero non imos tomar todas as crédito de virtualización.
Porque o que pasou é que hai unha chea de pilas e lotes de software
tecnoloxías que foron habilitados pola rapidez con que fose capaz de obter
a recursos coa lanza Cloud.
>> Entón, hoxe un único programa ou servizo pode ser utilizando calquera dos seguintes tempos de execución
ou bases de datos.
PHP, Python, MySQL, Redis, outros enfeites.
Polo tanto, hai unha morea de complexidade nesta número de pilas de realmente abrir
un único servizo.
E xunto con iso, tiña unha morea de recursos subxacentes ou infraestrutura
tipo para probar deploy e, basicamente, levar á produción destes programas
que está a desenvolver.
>> Especialmente como os seus equipos teñen crecendo traballar sobre estas aplicacións,
hai unha morea de complexidade e os retos
que foron traídos para asegurar que o cycle-- basicamente aplicación
ciclo de desenvolvemento, é realmente exitoso.
Entón, o feito de que a súa candidatura traballa localmente no seu lugar de VM
non garante que o seu compañeiro vai esperar os mesmos resultados.
>> E cando o equipo de operacións é parte de tomar o que ten
e implanta-lo en produción escala, tampouco hai ningunha garantía
que que realmente vai ocorrer.
Entón, iso déixanos cun realmente big-- unha morea de puntos de interrogación,
unha serie de retos, en realidade, enfrontado de forma semellante a día.
E iso nos fixo recordar a industria naval.
>> Así, a industria naval tivo un lote de mercadorías,
como podes ver na parte esquerda.
E na parte dereita, hai unha morea de, basicamente,
formas de enviar estes produtos.
E o que ocorre cando unha parella persoas reuníronse e dixo:
necesitamos estandarizar como realmente enviamos estes produtos.
E boom, ten a contedores de transporte intermodal.
>> Entón, eles coincidiron na máis tamaños comúns para o recipiente.
Como tratar con eles.
O método exacto que precisa para cargalos e descargalo a eles.
E, polo tanto, que verdadeiramente axudou a industria naval.
Agora, máis de 90% foco transportados globalmente están utilizando estes recipientes.
E iso sempre diminúe os gastos, así como
os danos debido ao transporte.
>> Entón, tomamos o mesmo modelo e nós aplicar o programa de desenvolvemento de dous app
Arquitectura, no sentido que conteinerização
tomou a virtualización para un nivel superior.
Entón, en vez de facelo ao nivel do hardware,
tornouse máis dunha operación virtualización de nivel de sistema.
>> E facemos iso introducindo cada aplicación no seu propio peso lixeiro,
illado, executable, e portátil, o máis importante,
unha forma de realmente embalar todo o que ten que ser executado.
En calquera lugar pode ser executado.
Así, independentemente se está executando o en dev ambiente local, a súa produción
ambiente, o seu Estadios ou probas.
Non importa o que subxacente infraestrutura está aí,
tiña un app de traballo funcional.
>> Entón, iso é o que, basicamente, recipientes facer para este problema.
Eles abordalo-la por embalar-lo de tal xeito
que pode garantir que está implantado con éxito, non importa onde vive.
Entón, se está indo como, Bob aínda é OK.
Se está confuso co que eu digo, Eu vou estar elaborando sobre iso.
>> Así como fai en si Dock se encaixan nese cadro?
Entón Dock é unha plataforma aberta de xeito doado, salientar facilmente,
para construír buque, correr, portátil e lixeiro auto
envases de aplicacións suficientes en calquera lugar.
Entón, se tomar algo con este Discusión, visite o seguinte.
>> Se ten a súa aplicación en execución localmente e desenvolveu-
no uso da plataforma Dock, esperar que sexa implantado con éxito.
Non importa cal é o infraestrutura subxacente.
Entón, se ten un Dock recipiente e funciona, entón
mentres que hai un Dock motor por outro side--
a súa infraestrutura de operación Está a utilizar calquera Nube si
é AWS, ou Google ou Microsoft, ou calquera das Nubes públicas,
ou a súa propia nube, ou a súa pila aberto Nube, ou o seu ambiente local.
>> Se tes un motor execución, que medios
que será implantado con éxito alí.
Vai estar en execución exactamente o mesmo comportamento
como arquitetado que sexa.
Polo tanto, se miramos at-- vou para pasar polo que, en realidade,
están nos principais compoñentes do encaixe.
>> Entón Motor está no cerne de Dock.
É o cerebro do.
El orquesta construción, transporte, e implantación e xestión
os propios recipientes.
Vou cavar o motor fai en máis detalles en un segundo.
Basicamente, porque Doctor foi construído en torno ás arquitecturas de servidores de cliente,
por iso, para interactuar co Motor precisa de calquera tipo de cliente.
>> As imaxes son os modelos no que son construídos a partir de contedores.
Así, as imaxes son basicamente só arquivos estáticos.
Modelos e contedores é, en realidade, o que é
está en execución no tempo de execución que está servindo a súa candidatura
ou facer algo cos datos.
>> Rexistro é tratado como un problema de como realmente distribuír imaxes.
Entón, se precisa compartir unha imaxe que traballou para o seu compañeiro
ou para o equipo ops, vostede usalo a usar rexistro.
Podes baixar unha fonte aberta versión del que traballou en Dock
e de código aberto.
>> Ou pode utilizar Dock axuda, que é a versión da nube
para empurrar e tirar imaxes por aí.
Iso é unha cousa enorme.
Porque hai unha enorme ecosistema arredor Dock e é
moi fortemente utilizando o cubo.
>> Entón, para resumir aquí, esta é a forma na que o minimalista cliente fluxo de traballo Dock.
Interactúa co anfitrión, no Neste caso, é os daemons Dock.
É o mesmo que engine.
Fai comandos como Dock construír, tirar, correr.
E o propio motor vai e fai isto.
>> Así, ou que interactúa con Rexistro para tirar as imaxes
e as capas das imaxes.
Se se quere implantar, executar recipientes, matalos, xoga-los para abaixo,
outros enfeites.
Polo tanto, este resume o fluxo de traballo de todos estes compoñentes.
>> Entón, se tomar todas as compoñente de seu.
Entón engine, que é só un demo.
Vai tipo de xoga-lo para apoiar Lo en Linux, porque fai
esixen certas características do núcleo de Linux.
Pero o Windows está funcionando en facer o mesmo.
É suposto ser apoiada Windows Server 2016.
>> Así, de novo, as responsabilidades co motor é, ou son, construír imaxes.
Puxe imaxes do Dock Hub ou o seu propio rexistro.
Se está feito con esas imaxes ou crear un novo imaxes,
pode empurra-los ao rexistro para distribuír las para outros equipos.
>> E intentando contelo localmente e xestionar o ciclo de vida contedores
localmente.
El está construído en torno HTTP API REST.
Entón, tecnicamente pode escribir o seu propio cliente
sempre que usa o HTTP, o que é moi mecanismo estándar para falar con motor
e unha morea de outros servizos.
E podes ver dende aquí que, independentemente
de que a infraestrutura é, sempre que can-- todo
precisa é unha operación sistema, especialmente o Linux.
>> E pode instalar Dock Motor enriba diso e telo funcionando
e orquestra, basicamente, todos estes app un, dous,
e tres envases son reais.
Entón, iso é engine.
Como mencionei anteriormente, porque precisa interactuar con Motor,
hai o cliente.
>> Pero, en realidade, cando se instala Estivador, ven con el.
Por iso, é instalado, polo que é un único binario.
E pode facer chamadas locais no seu Dock engine.
Ou chamadas remotas para motores remotos.
Usa HTTP, como Mencionei anteriormente.
Hai un cliente GUI chamada Kitematic de Dock.
E hai sempre unha morea de outras persoas
que están construíndo unha morea de GUIs que basicamente aplican
algúns HTTP chama para falar engine.
>> Só algúns exemplos de comandos.
Se fai versión Dock, sería amosar-lle a versión do cliente, así como
a versión do servidor.
Se fai iso vai Información Dock dicirlle toda a información
sobre cantos contenedores están en execución ou creado, cantas imaxes que ten,
e así por diante e así por diante.
>> Aquí eu teño, no lado de última caixa, eu teño doutor prazo.
Entón é así que eu son, en realidade, creando recipiente.
E eu estou dándolle a ecoar Ola Mundo e durmir por un segundo e outros enfeites.
E podes ver o resultado. Polo tanto, é en curso.
E semellante ao ps Linux, podes ver Todos os procesos, e, neste caso,
todos os envases en execución.
Esa é remitir o recipiente I acaba de crear.
>> Entón, iso é moi importante porque, como, pode ser un pouco confuso.
Así, as imaxes son o read-only colección de arquivos, non?
Son o que o noso recipiente se basea.
Pero eles están só só de lectura.
Entón comeza unha imaxe de base con.
El tende a imitar SO, sendo así Imaxe de base outros adornos Ubuntu, CentOS ,.
E entón comeza a construír encima que, certas capas, que comporá
súa imaxe final, o resultado final aquí.
>> E cada unha destas capas debe ter unha imaxe de pai
a que fai referencia cando se Realmente quere crear.
Son inmutábeis, no sentido que porque son só de lectura,
non pode realmente cambia-los.
Vostede pode usalos para crear unha recipiente a partir dunha imaxe, que
vai chamar toda a posterior imaxes necesarias debaixo dela.
>> Podes facer cambios a unha capa diferente,
é unha capa de reescrita vou falar en un segundo.
Pero cada unha destas capas non son alteradas.
Basicamente imaxes usar algo chamada Unión do sistema de ficheiros, UFS.
E hai almacenamento diferente backends que utilizan esta tecnoloxía.
E o que iso significa é que reúne os sistemas de ficheiros distintos
para tornalos ollar como un.
>> Entón pode realmente, desde perspectiva de aplicación,
ten un cume dunha exhibición que mostra todo o sistema de ficheiro diferente necesario
para esta aplicación para ser executado.
Pero son realmente, polo que son realmente en lugares separados
e sendo utilizada pola outros recipientes, así.
>> Entón, como podes ver aquí que se comezar a imaxe daemon con
como unha imaxe de base, e logo nós imos e engadir [? emacs?]
e, a continuación, iso é outra capa.
E a continuación, engade Apache.
Esta é outra capa.
E entón pasamos a Recipiente de que.
Cada unha destas imaxes, cada unha destas capas,
é diferente e pode ser reutilizados por outros recipientes.
>> Se ollar para os propios recipientes, son de algunha maneira, como VM-like,
pero non tratado á vez.
Entón, eles non teñen, tecnicamente, o sistema operativo completo debaixo deles.
Eles usan o núcleo do único do sistema operativo anfitrión.
E construír enriba diso.
Eles imitan na súa aparencia.
Eles imitan os seus ficheiros raíz sistema do sistema operativo.
Pero realmente non están replicando.
>> Así, en vez de ter capas inmutábeis, a última capa, que é o recipiente
en si, é unha capa de lectura e escritura.
Que tamén executa os procesos da súa aplicación.
E depende das capas subxacentes.
Cada recipiente é creado a partir dunha imaxe.
E que a imaxe pode ser unha única capa de imaxe ou multicapa.
>> E quero resaltar aquí Dock que usa pesadamente,
ou está baseado Copy-On-Write mecanismo.
De xeito que, en realidade, se non é facer cambios para o recipiente,
non vai tomar espazo extra.
Entón, iso é basicamente como resumir a Copy-On-Write.
Vai definitivamente acelerar o tempo de arranque para o recipiente.
Porque se non está facendo cambios no recipiente,
está utilizando o que xa está aí.
>> Entón, como realmente funciona.
Parte do que é como agora utiliza, polo menos, dous do núcleo tecla
características.
E iso é basicamente o que creado ese nivel de illamento
para os propios contedores.
Estas características son namespaces e cgroups.
Entón, namespaces son unha forma de crear recursos illados,
de xeito que dentro do propio recipiente, só pode ver certos recursos.
Tales como a interface de rede ou os certos grupos ou outros adornos.
>> E os só son visibles e só accesible dentro do recipiente.
Cgroup sobre os outros límites laterais como se usa eses recursos.
CPU, memoria e disco.
Cando se pode ir, eu É dicir, de feito, estas son
características que foron desenvolvidas por-- son parte do núcleo Linux.
Así, eles non foron reinventados por ou recreado por Dock.
Dock usa-los.
>> O que realmente fixo Doutor aquí é, en realidade,
creación orquestrada namespaces para cada recipiente
e creando os cgroups de xeito que sexa ridiculamente fácil para crear recipientes
usar estes recursos.
Claro que, como eu describe anteriormente, Unión File Systems e Copy-on-write verdadeiramente
axudar a velocidade eo disco utilización de envases.
>> E unha vez que comeza o seu mans en torno a Dock,
vai ver como rápido é realmente xirar envases e bágoa
los para abaixo.
Entón, se pode preguntar, como pode realmente construír imaxes?
Nós construír imaxes a través dun proceso de creación de envases e facendo cambios, cambiando
eles, e comprometendo- para facer unha imaxe.
>> Polo tanto, é unha galiña e referencia ovo aquí,
porque todos os envases entren a partir de imaxes e imaxes veñen
desde recipientes cometidos, para a maior parte.
Hai tres opcións para crear imaxes.
Eu estou indo a describir o primeiro eo último.
Pode manualmente ir e executar o recipiente
e facer estas modificacións, como faría en calquera VM
ou calquera sistema operativo, tales como a instalación de novos binarios,
engadindo sistemas de ficheiros, e outros enfeites.
>> E entón saír, como podes ver alí enriba.
Estou saíndo meu recipiente.
E entón eu estou facendo Dock cometer.
E eu estou cometendo iso.
Podes ver que o número aquí é só un UUID, ou o primeiro 12
bits do UUID.
Ou bytes do UUID.
E entón eu estou chamando miña imaxe.
Entón, agora coida de Dock gravar todo o que eu fixen
e crear o novo imaxe con base niso.
>> Non vou falar do arquivo tar, pero hai un xeito pode obter un único,
crear un único, ou facer unha única imaxe da capa empregando tarballs.
O que eu vou falar sobre iso e que se usa principalmente hoxe,
é Dockerfile.
Que é tecnicamente o primeiro paso automatizado, por si só Dock.
Entón Dockerfiles son cousas que está Vai ver unha morea de repos GitHub
hoxe en día.
É basicamente só un arquivo de texto describindo
exactamente como construír unha imaxe.
>> E para cada liña, realmente crea o recipiente, que executa liña,
comprométese que un recipiente en nova imaxe, e, basicamente,
usalo para todas as operacións posteriores ata chegar á última imaxe.
Que é basicamente o acabar obxectivo aquí, o final.
E despois que exec-- tras escribir o seu Dockerfile, que
é puramente en texto, fai un Dock e construír o nome da imaxe.
>> E apunta para que esa é onde a é a Dockerfile.
E pode esperar a ver a miña imaxe como unha imaxe que ten localmente.
Entón, iso é só visual exemplo do que pasa.
Comeza unha imaxe de base con.
Realizar isto nun recipiente que non se modifica a imaxe base en si.
Pero, en vez crea un reescribir a capa enriba dela
onde facer os cambios, en que se comprometer
e repita o proceso ata comeza a súa imaxe final.
>> E ao facelo, as demais compilacións proceso pode usar as mesmas capas
e, basicamente, a same-- Dock almacena en caché esas capas.
Así que, se eu estou facendo exactamente o mesmo proceso, pero no canto de instalar PHP
Estou instalando Python.
Vai utilizar Apache e Ubuntu.
Entón, de que xeito está utilizando o seu disco.
Está utilizando a caché e imaxes dispoñibles alí.
>> A parte final é o rexistro, que é como distribuír as súas imaxes.
E, como xa referín anteriormente, hai unha versión Nube del,
que é Dock Hub.
Pode ir e explorar unha gran cantidade de, basicamente
é un produto público que SAS aínda pode ter imaxes privadas,
pero hai unha morea de imaxes públicas.
En realidade, é ilimitada, pode empuxe imaxes públicas ilimitadas alí.
E é así que poida colaborar co seu equipo.
>> Pode só apuntala-los en ti repo e poden facer a descarga ou a súa imaxe
e poden facer a descarga.
Entón, o suficiente coa conversa.
Quen queira ver algunhas demos ben rápido?
Todo ben.
Entón aquí eu teño.
Ca vós ver miña pantalla?
Todo ben.
>> Entón, eu teño Dock correndo aquí, entón eu pode comprobar it's-- Esta é a versión
de Dock que está en execución.
Información pode facer Dock.
Consulte toda a información sobre cantas teñen imaxes, e así por diante e así por diante.
Dock PS, non hai nada en execución.
Concatenado aqueles.
>> Entón, o primeiro que quero facer é amosar como pode facilmente executar nun recipiente.
Así, a beleza sobre Doutor prazo, se realmente
non atopar unha imaxe localmente, por defecto, fala ao Doutor Hub
e tenta atopalo alí e descargas por vostede.
Por iso, inclúe un Dock mando tirar, naturalmente.
>> Entón, se eu fago un Dock prazo, Ola-mundo.
Entón, primeiro vai para tratar de localizalo.
Se non, como se pode ver aquí, non podería atopalo localmente.
Agora só tirou dúas capas que fixo esa imaxe e eu execute.
O-Ola mundo é basicamente só saídas, o que ten feito.
Polo tanto, este é o máis fácil, un dos exemplos máis fáciles.
Entón, en realidade, eu só corrín e rescindiu o recipiente ben rápido.
>> Se eu queira run-- e pola maneira, se Quero xa que, só así vostede sabe,
este é o tempo que leva para realmente xirar para arriba e contelo.
Estamos medindo a en milisegundos.
Para que poida ver o que iso pode realmente axudar non só en probas,
pero tamén ata a implantación.
Entón esta é unha breve nota sobre iso.
A seguinte cousa que eu son vai facer é, en realidade,
realizar unha imaxe que eu xa preparei.
Así xanela de encaixe prazo.
-d é só unha bandeira que dicir que sexa executado en segundo plano.
E -p atribúe determinadas portas.
Porque, por defecto, o envases son illados,
entón ten que especificar exactamente como pode acceder a eles.
E neste caso, digo Dock para mapear unha porta aleatoria no servidor
a un porto especificado dentro o propio recipiente.
E iso é basicamente onde a image-- espero que este é o camiño correcto.
>> Entón, fai descargas paralelos cada desas capas como podes ver aquí.
Aqueles son das capas facendo a imaxe final que constrúe.
Vai levar un segundo.
E listo.
>> Polo tanto, agora se eu fai un ps xanela de encaixe, que debería ver algo que está en execución.
I que ver o ID, a imaxe que este foi baseado fóra,
e a orde que foi executado.
E como acceder a ela é basicamente ir a esa porta.
Entón, eu estou indo a ir a-- este é que eu estou executando o en AWS.
Eu estou indo a ir a 32769.
Oops.
E aquí imos nós.
>> Polo tanto, esta é realmente só un servizo web que amosa
que recipiente que está a ser servido a partir.
Entón podes ver que é de recipiente a9f.
E aquí esta é a nome do contenedor.
Entón podedes ver como rápido el foi, de feito, non só pero tamén tirar
implantar este recipiente.
>> Agora, o seguinte paso é a mirar para Dockerfiles
e como podemos, de feito, construír novas imaxes.
Eu só estou indo a ir buscar clon, unha sample Dockerfile a base do anteriormente
diagrama, o único que Apache e PHP.
Esperemos que eu recordo do meu repo.
>> Entón, eu teño o meu depósito agora.
E vai ver moito iso de feito.
Non instalar árbore.
>> Entón, basicamente, vai ver como a documentación do código fonte en torno a
Lo, e logo un Dockerfile en como realmente embalaxe-lo.
Entón é só unha mostra PHP que ecoa Ola CS50.
>> Entón, se eu queira para executalo, Vou facer de compilación xanela de encaixe.
Teño que construír primeiro.
Eu estou indo a nomea-la demo_cs50.
E precisas dunha etiqueta a el tamén.
Entón, imos chamalo v1 dot.
Entón, como eu describe anteriormente, o que estou facendo hoxe
é que eu estou dicindo para ir Dock uso isso--, en realidade, desculpe, meu mal.
Non dea un ollo no propio Dockerfile.
Así, as únicas cousas aquí son index.php, así como o arquivo léase me
e un Dockerfile.
>> Entón, se dea un ollo o Dockerfile, polo que é
moi semellante ao que Eu describe anteriormente.
É só unha morea de etapas que executa Dock
creando e destruíndo recipientes e [? contando?] - los nunha imaxe.
>> E, basicamente, pode see-- [inaudível] que aqui--
pero esta é a partir do repo local.
Vai ir e coller index.php.
Entón, ese é o único código fonte que son en realidade parte do seu programa.
Todo isto son basicamente canalización do sistema operativo,
recibindo os paquetes correctamente e Apache e PHP, e outros enfeites.
Pero este é, en realidade, tendo index.php e cometelo lo para dentro do recipiente,
na imaxe.
>> Polo tanto, se vai adiante e executa o mando, facendo o seguinte,
é, en realidade, going--, isto pode levar un pouco.
Esperemos que non levar moito.
Para que poida ver os pasos.
E eu encouraged-lo a ir de volta a casa hoxe e probalo.
E Mano ha describir exactamente como facelo.
Pero é realmente excelente para ver exactamente o que está a suceder nos bastidores.
Pero é ridiculamente fácil de construír imaxes e implanta-las usando Dock.
>> Está demorando un pouco máis do que eu esperaba.
>> Imos ver que pasa cando vocę-- arrefriar.
Entón, como podes ver, cada unha destas etapas representan liñas no Dockerfile.
E aquí que mostra construíu con éxito esta imaxe.
>> Entón, se eu fago imaxes Estivador, eu vou ver todas as imaxes que eu teño localmente.
E un deles chámase meu nome de usuario eo nome da imaxe,
ea etiqueta de representing-- principalmente é unha marca de versión.
>> Polo tanto, agora quero correr Lo, fago xanela de encaixe prazo.
E eu só quero facer un -P -d. Fai v1.
Así podo ver agora que eu teño dous envases de execución, o que eu só
creado e Ola Dock un que teño pasado.
>> E podes ver aquí que atribuíu un porto diferente.
Entón, se eu ir ao mesmo IP, pero atribuílo lo un port-- diferente espera que eu non fixen.
Entón, agora que é aplicación que só implantado.
>> Se eu queira facer cambios, I pode editar rapidamente o código fonte
e faga o seguinte.
Imos facer Ola Harvard.
Entón agora o que está pasando a ocorrer é que eu son
vai marcalo cun diferente version-- oh,
non esta guy-- marcalo cunha versión diferente.
E está indo see-- facer vostedes esperan
para ter a mesma cantidade de tempo constrúe-lo unha segunda vez, ou non?
Todo ben, e ninguén sabe por que?
Fala-se.
>> Audiencia: [inaudível]
>> NICOLA kabar: É basicamente nós só cambian un dos pasos máis adiante.
E, polo tanto, que vai utilizar o cache e utilizar cada unha destas capas.
E iso é realmente algúns dos características do asasino de Dock
é como realmente utiliza e reutilizações asumir
o disco para o mesmo pezas exactas de información.
>> Entón, se nós facemos o mesmo, tardou só uns segundos.
Se queremos redeploy-- agora Eu debería ter tres recipientes.
Pero este está a ser servido nun as-- sete.
Polo tanto, agora é o terceiro recipiente.
Todo o mundo entende o que eu fixen aquí?
>> Polo tanto, agora se quere compartir esa recipiente ben rápido cos seus amigos,
pode só facer estivador empurrar o nome do contenedor, eu espero.
Entón, agora que vai empurralo lo para-- Non estou asinado en aquí.
Sentímolo por iso.
Pero eu non vou solucionar isto agora.
Pero, basicamente, que un comando é só ir ata empurralo.
E vai ser capaz de velo se vai para Dock Hub
E log in, que é vai ser capaz de velo.
E entón podes só apuntar quen vai
usar esa imaxe para ir e puxe-o.
E poden usalo.
>> Con iso, esperamos Eu medio que demostraron
como é fácil traballar con Dock.
E eu estou indo só para devolve-lo para Mano.
E vai leva-lo a partir de aquí.
>> MANO MARCAS: Todo ben grazas, grazas Nico.
E que?
Entón, unha das cousas que máis me quería facer é poñer xuntos
porque este é un importante-- Dock por que e por que
envases son tal importante novo desenvolvemento,
unha nova forma de realmente facer software.
>> E antes de que eu fago, eu vou só presentar algunhas estatísticas.
Non vou ler todo isto.
Pero iso demostra moito sobre como popular, este é na comunidade.
As tecnoloxías Dock núcleo son de código aberto.
Entón, iso é Dock engine, Compose, Swarm, unha morea de outras cousas
é todo código aberto.
E nós temos, o que eu fixen dicir, 1.300 colaboradores.
Estás a ver agora, se ollar para o número de prazas de emprego, a última vez
nós miramos, era uns 43.000 traballo ocos especificamente mencionando
familiaridade con Dock.
Centos de millóns de imaxes teñen foi descargado do Dock Hub.
E, así, moito máis grandes stats.
>> Para os que están curiosos, el foi orixinalmente escrito en Python
e despois reescrito en Go.
E só pasaron abrir source-- é só
foi liberado a preto de 2 anos e 1/2, o que significa que en 2 e 1/2 anos,
vimos unha cantidade enorme de crecemento e importancia
desta na comunidade.
E así quero falar un pouco sobre o por que.
>> Entón, só para reiterar algunhas das Puntos clave de Nico, Dock é rápido.
É portátil.
É reprodutível.
E créase un ambiente defecto.
>> E what-- esta é a miña cágado erradicar monolitos que slide--
está axudando a xente, que un lote da industria de software
comecei a facer o comezos de 2000, está movendo
a partir destes monolítico aplicacións individuais
onde cada dependencia tiña que ser probado antes de que a aplicación enteiro tiña
para ser implantado, o que podería significar un sitio
só ten implantado xa cada tres meses, ou máis,
a unha moito máis servizo arquitectura orientada
ou en compoñentes tipo de arquitectura de aplicación.
E así permitindo que estes tipo de arquitecturas
que aproveitan Dock para realizar nestes tres
principais áreas de desenvolvemento, que é o desenvolvemento de escribir o seu código real,
probar o seu código, e implanta-lo.
>> Entón, por que iso é importante?
Se é um-- deixe-me dar un exemplo.
Se vostede é un sitio web creador dispositivo, é
desenvolvemento dun sitio web que está baseado no base de datos que David producido aquí.
Sentímolo David, eu estou te chamando para fóra.
Se quería para implantar a cousa toda, ten
ten que esperar baixo un tradicional desenvolvemento de software monolítico
ambiente, que tería que esperar ata que se fixo co banco de datos
antes de que poida realmente facer os cambios ao seu sitio web.
Vostede tería que reimplantar o Toda aplicación de facelo.
>> E o que Dock axuda a facer é cada persoa traballo en compoñentes distintos
e actualiza-los como eles van, só facendo Asegúrese de que as interfaces permanecer o mesmo.
Entón, o que fixo é que é desprazada persoas
de facer estes macizo monolítico software que arquitetado
implantado cada mes a un continuo integración e desenvolvemento continuo
ambiente.
>> Agora, iso non é exclusivo para Dock, pero Dock fai moito máis fácil,
o que significa que é, basicamente, constantemente implantando.
Nós falamos con empresas que son implantación de aplicacións dirixidos ao público
miles de veces ao día, porque ven o valor en só facendo
pequenos cambios, e sempre como é executado a través das probas,
deixar ir para fóra en produción.
Nico estaba sempre me dicindo antes que en moitos ambientes,
o ciclo de vida normal dun recipiente mídese en segundos,
Considerando unha máquina virtual se pode medir en meses.
>> Quería facer unha lixeira Xire aquí, porque eu son
nunha institución educativa.
Eu quería dar un exemplo de como funciona nunha investigación educativa
situación.
Polo tanto, hai unha organización chamados bioboxes.
O ADN Bioboxes análise para os investigadores.
>> Agora, o que descubriron foi que, cando un researcher-- e este non está
a falla de calquera especial researcher-- pero cando
un investigador implantado un algoritmo para analizar,
De xeito particular, unha mostra de ADN, eles ían escribir o software,
publicar que, quizais para GitHub ou noutro lugar,
e, a continuación, eles foron feitos.
>> Ben, o problema foi que non era necesariamente reprodutível.
Porque, a fin de comprender o software,
que sería creado para o ambiente exacta desenvolvemento
que investigador que emprega, xeralmente seu portátil, ou un servidor, ou un conxunto de datos
o centro que estaban a usar.
E, en consecuencia, era moi difícil para reproducir os resultados da investigación cando
análise das mostras de ADN para ollar en cousas como incidence--
comparar incidencia de infartos en base a determinados xenes estaren presentes,
por exemplo, ou o risco de cancro, ou calquera dos outros tipos de cousas.
>> Entón, o que fixeron no canto foi eles comezaron a crear recipientes.
E pode ir bioboxes.org, é unha gran organización.
E o que fan é que eles producen recipientes en base a investigacións.
E entón, cando alguén envía na súa mostra, poden executalo.
E ten todo o ambiente necesario para realizar ese algoritmo
e producir os resultados.
E eles están descubrindo que son moito máis probable e máis
canto poder devolver resultados para as persoas.
>> E, de feito, o que a xente está facendo está executando a súa propia análise sobre o ADN,
en que o envío para bioboxes, e entón biobox só ten os datos,
executa-lo contra a variedade envases de diferentes
para ver resultados diferentes en base a investigación diferente.
Polo tanto, é unha moi poderosa xeito en que os investigadores
pode facer unha única instancia que permite outras persoas para intentar reproducir
os resultados.
>> Entón, como comezou?
Estamos ben soportado en Linux.
Entón, se quere instalar nada en Linux,
usa o seu patrón xestor de paquetes para instalar.
Se está usando un Debian, é get apt.
CentOS é yum.
Fedora da Red Hat é rpm-- Non me lembro.
En calquera caso, está todo alí.
Apoiamos unha gran variedade de distribucións Linux.
Podes comprobar os para fóra.
>> Tamén temos opcións para que Pode ser executado en Mac ou Windows.
Agora Nico mencionado anteriormente que foi soportado só en Linux.
Isto é verdade porque precisa dun núcleo de Linux.
Pero, pode ser executado nunha máquina virtual.
E o que o Dock Toolbox fai, que podes baixar,
dálle esa máquina virtual.
>> Así, só unha rápida 48 en segundo lugar, penso eu, a baixar.
Só buscar en Dock Caixa de ferramentas, transferir-lo para o Mac,
e esta parte é de Claro acelerou porque quen
quere ver un sinal de descarga?
Instalación de Mac defecto, e entón está
vai ver Jerome poñer na súa contrasinal.
Isto é moi emocionante.
E, a continuación, el instala un todo morea de ferramentas.
E, sobre todo, que vai instalar unha liña de comandos.
E entón podes ver Jerome probando as súas imaxes.
>> E, a continuación, con base niso, podes ver que YouTube
Pensas que Nico interesa Star Wars, O show Jimmy Kimmel,
e eu creo que Ellen.
Penso que último é un clip de un show de Ellen.
>> Entón Dock Toolbox vén aínda con máis que Máquina Dock.
Entón Dock Machine é o único que axuda
configurar un virtual máquina no seu Windows
ou Mac-- súa caixa de Windows ou Mac box-- e axuda a facer o provisionais,
>> Pero tamén ven con Swarm e Compose,
que son deseñados para axudar a facer grande implementacións a escala da súa aplicación.
Entón, se quere xestionar clusters de nós,
aglomerados de contedores, compoñer e Swarm son a forma de ir sobre el.
>> E, claro, el ven con Dock Motor e Kitematic,
o que é esa GUI escritorio.
Quere tamén de mencionar Dock Rexistro, que non está incluído no cadro de ferramentas,
pero é un xeito para que executa o seu propio rexistros de Dock Imaxes como Dock
Hub, pero tamén pode simplemente usar Dock Hub como un xeito de facelo.
>> E, reviravolta na historia, está a ver Lo funcionando nun recipiente.
E é así que somos distribución dos nosos diapositivas.
Toda esa presentación é en realidade, un conxunto de diapositivas en HTML.
E está a ser executado nun contedores, que pode obter por--
>> NICOLA kabar: Si, por iso é funcionando a tempo completo no meu Max.
E eu estou presentando a partir del.
E acaba de facer Dock despois instalar o Toolbox.
Pode só facer unha carreira de estivador e obtelo, e utilizar os diapositivas.
>> MANO MARCAS: E iso.
Por iso, gracias a todos por vir.
E estamos felices en responder a preguntas.
Debo mencionar antes de que alguén deixa alí é camiseta por alí.
Sentímolo quen está a asistir isto Livestream ou vídeo,
pero temos Dock camisetas por alí.
E sabemos alumnos Dock, e na miña experiencia,
profesores tamén, como roupa libre.
>> Entón, grazas a todos por vir.
E siga connosco en Twitter se quere, ou non.
Eu non me importa.
Tamén seguir Dock en Twitter.
Isto tamén é interesante.
E entón é iso.
Docker.com.
Grazas.
>> [Aplausos]