WEBVTT

00:00:00.120 --> 00:00:08.800
Saudação de boas-vindas para outro
episódio de canal de contêineres.

00:00:08.800 --> 00:00:12.580
Eu sou Matt McSpirit, técnico
divulgador de todos os nossos dados

00:00:12.580 --> 00:00:15.640
Centro de tecnologia e isso é
parte dois em um pouco miniseries

00:00:15.640 --> 00:00:18.450
falamos
sobre fundamentos de contêineres.

00:00:18.450 --> 00:00:21.200
No primeiro episódio deste
falamos um pouco de miniseries

00:00:21.200 --> 00:00:24.770
bit sobre alguns dos principais
conceitos de imagens, em torno de

00:00:24.770 --> 00:00:28.490
conexão de rede ao redor de construção
um contêiner, executamos um contêiner.

00:00:28.490 --> 00:00:29.830
Esperamos algumas das
a arquitetura

00:00:29.830 --> 00:00:32.380
diferenças entre
contêineres e da VM.

00:00:32.380 --> 00:00:35.130
E no episódio fiquei satisfeito
a serem agrupadas por Neil Peterson

00:00:35.130 --> 00:00:38.940
novamente para nos ajudar a compreender
um pouco mais detalhes, ou

00:00:38.940 --> 00:00:42.930
devo dizer, um pouco mais
profundidade neste momento em imagens

00:00:42.930 --> 00:00:45.410
rede e portabilidade.

00:00:45.410 --> 00:00:48.740
Então Neil demorar algumas das
as principais coisas que precisamos saber

00:00:48.740 --> 00:00:51.390
durante a gravação, os profissionais e
os desenvolvedores precisam saber ao redor

00:00:51.390 --> 00:00:53.890
algumas imagens,
rede e portabilidade.

00:00:53.890 --> 00:00:56.780
>>-Se de que o que vou fazer na
Esta sessão é realmente que estamos

00:00:56.780 --> 00:01:00.890
vai para criar um aplicativo
no meu laptop.

00:01:00.890 --> 00:01:03.690
Em seguida, vamos
Se o recipiente th

00:01:03.690 --> 00:01:07.720
imagem do aplicativo,
Jogue no hub Docker, e

00:01:07.720 --> 00:01:10.960
Puxe-a em um recipiente
host em execução no Azure.

00:01:10.960 --> 00:01:15.360
Por meio desse processo estamos
Vamos para aprofundar em camadas de imagem.

00:01:15.360 --> 00:01:16.770
Vamos falar
sobre a rede, e

00:01:16.770 --> 00:01:18.680
em seguida, temos que
informação de portabilidade.

00:01:18.680 --> 00:01:20.970
Vamos dar uma olhada
a Ajuda de Docker, e

00:01:20.970 --> 00:01:22.790
como podemos usar isso para
Mova imagens.

00:01:22.790 --> 00:01:25.350
>> Sim, cuz não é tão
uma operação do tipo copiar e colar.

00:01:25.350 --> 00:01:26.570
Há um pouco mais a ele.

00:01:26.570 --> 00:01:29.840
OK, portanto, isso é um pouco de
uma recapitulação da última sessão.

00:01:29.840 --> 00:01:31.970
Espera-se que você assistiu
episódio anterior.

00:01:31.970 --> 00:01:33.270
Abordamos algumas das
Este conteúdo, mas

00:01:33.270 --> 00:01:34.660
basta colocar as pessoas
Deleite-se para

00:01:34.660 --> 00:01:37.570
aqueles que não
Imagens em geral.

00:01:37.570 --> 00:01:40.310
>> Sim, portanto, a primeira coisa
Vamos examinar é imagens

00:01:40.310 --> 00:01:43.860
e camadas de imagem e
apenas para recapitular, uma imagem de contêiner

00:01:45.290 --> 00:01:47.700
contém o aplicativo
ele contém dependências.

00:01:47.700 --> 00:01:50.500
Portanto, ele é basicamente
a unidade que usamos

00:01:50.500 --> 00:01:52.060
para derivar contêineres de.

00:01:52.060 --> 00:01:55.150
Portanto, quando quero criar
um contêiner basicamente assim

00:01:55.150 --> 00:01:59.020
Ei construir um recipiente em que
imagem, pronto: e imediatamente passa.

00:01:59.020 --> 00:01:59.530
>> OK.

00:01:59.530 --> 00:02:03.180
>> Um, conceitos,
Imaging ele é bem legal e

00:02:03.180 --> 00:02:08.140
Ele difere um pouco,
como podemos usar imagens com

00:02:08.140 --> 00:02:11.970
máquinas virtuais é isto
conceito de camadas de imagem.

00:02:11.970 --> 00:02:16.520
E o que quero dizer é que começamos a
com uma imagem básica do sistema operacional, para

00:02:16.520 --> 00:02:19.280
que podem ser
Núcleo do servidor do Windows.

00:02:19.280 --> 00:02:21.450
Temos uma imagem do Windows
o Server core e vamos pode fazer

00:02:21.450 --> 00:02:24.630
algumas modificações
imagem, instalar o software e

00:02:24.630 --> 00:02:27.550
captura que
em uma nova imagem.

00:02:27.550 --> 00:02:31.400
Também estamos não, na verdade, criando
uma nova imagem completa que

00:02:31.400 --> 00:02:34.610
inclui o server core do Windows
no novo aplicativo.

00:02:34.610 --> 00:02:37.270
Estamos apenas criando
imagem dos deltas.

00:02:37.270 --> 00:02:38.270
>> Muito bem.
Assim, ele altera.

00:02:38.270 --> 00:02:39.880
>> Apenas as alterações, e

00:02:39.880 --> 00:02:44.670
quando queremos ir implantar que
aplicativo, o que acaba

00:02:44.670 --> 00:02:48.210
aconteça é o recipiente usa
>> Ambas as camadas.

00:02:48.210 --> 00:02:51.220
Ele usa a imagem do sistema operacional base e
as alterações.

00:02:51.220 --> 00:02:51.730
>> À direita.
>> E

00:02:51.730 --> 00:02:55.330
em seguida, qualquer outro recipiente que
Exibir no host que também

00:02:55.330 --> 00:02:59.990
usa qualquer uma das camadas comuns,
não precisamos criar uma nova

00:02:59.990 --> 00:03:01.710
instância do que
imagem do recipiente.

00:03:01.710 --> 00:03:03.810
Eles compartilham o que acabou de
já no lugar.

00:03:03.810 --> 00:03:06.240
Vamos dar uma olhada em
Isso em um documento ou

00:03:06.240 --> 00:03:09.000
no aqui, o PowerPoint
e um gráfico aqui.

00:03:09.000 --> 00:03:12.450
Isso mostra a imagem aqui
um host recipiente e

00:03:12.450 --> 00:03:14.480
o host recipiente foi
ser uma máquina física,

00:03:14.480 --> 00:03:15.480
é possível que uma máquina virtual?

00:03:15.480 --> 00:03:15.980
>> Absolutamente,
>> Direita?

00:03:15.980 --> 00:03:16.840
>> Uma máquina virtual, para

00:03:16.840 --> 00:03:19.260
maioria das demonstrações
que vamos ver aqui.

00:03:19.260 --> 00:03:19.880
Tenho uma Linux

00:03:19.880 --> 00:03:21.930
sistema em execução no
Hyper-V em meu laptop.

00:03:21.930 --> 00:03:23.500
>> Mmhm
>> Você também verá um virtual

00:03:23.500 --> 00:03:25.840
computador em execução no Azure
em um momento posterior correto.

00:03:25.840 --> 00:03:28.930
Para tipo de movimentação
Neste cenário,

00:03:28.930 --> 00:03:31.180
Pode implantar
a imagem do sistema operacional base.

00:03:31.180 --> 00:03:32.460
>> E para
pessoas que não estão familiarizadas,

00:03:32.460 --> 00:03:34.150
Onde obtenho
Essa imagem do sistema operacional de Base?

00:03:34.150 --> 00:03:36.040
Quero dizer, é,
começar com ele.

00:03:36.040 --> 00:03:37.310
É na máquina,

00:03:37.310 --> 00:03:39.300
ele pode conter [INAUDIBLE]
na máquina [INAUDIBLE]?

00:03:39.300 --> 00:03:40.830
Ele tem o sistema operacional Base
imagem lá?

00:03:40.830 --> 00:03:43.430
É necessário pegá-lo e
e quanto ao Windows?

00:03:43.430 --> 00:03:47.170
Portanto, se estamos trabalhando com nossos
Host Linux, pode obter esses

00:03:47.170 --> 00:03:50.920
imagens de Hub Docker ou
outros registros.

00:03:50.920 --> 00:03:53.460
E agora o técnico
visualização do windows server

00:03:53.460 --> 00:03:54.130
recipientes.

00:03:55.680 --> 00:03:58.700
Podemos posicionar essa base
Image de SO, então

00:03:58.700 --> 00:04:01.330
podemos posicionar o servidor Windows
imagens do sistema operacional base principal.

00:04:01.330 --> 00:04:02.770
Portanto, se você percorrer os documentos

00:04:02.770 --> 00:04:05.420
ele o orienta através de um procedimento de
Configurando o Windows Server.

00:04:05.420 --> 00:04:07.117
Você pode baixar [CROSSTALK]
>> Muito bem, e

00:04:07.117 --> 00:04:08.170
ele estará lá para você.

00:04:08.170 --> 00:04:11.280
Isso pode implantar isso
imagem do sistema operacional base e

00:04:11.280 --> 00:04:12.950
instalar alguns
software para ele.

00:04:12.950 --> 00:04:16.680
Então, vamos talvez, apenas para
exemplo, um aplicativo da web.

00:04:18.070 --> 00:04:21.340
E, em seguida, posso capturar isso
a própria imagem do recipiente.

00:04:21.340 --> 00:04:26.020
Eu pode reimplantar que
imagem do servidor Web e

00:04:26.020 --> 00:04:29.200
implantar um aplicativo
e reimplantá-lo novamente e

00:04:29.200 --> 00:04:30.410
implante outro aplicativo.

00:04:30.410 --> 00:04:34.480
Portanto, tenho dois contêiner
imagens, cada uma contendo seus

00:04:34.480 --> 00:04:38.550
aplicativos próprios, mas eles têm
uma imagem de servidor da web comum e

00:04:38.550 --> 00:04:40.740
uma imagem de SO base comum.

00:04:40.740 --> 00:04:43.520
>> Imagem esses App 1 e
Imagem de aplicativo 2 no gráfico aqui

00:04:43.520 --> 00:04:45.360
depender
Imagem do servidor Web

00:04:45.360 --> 00:04:47.340
que por si só leva
uma dependência na Base.

00:04:47.340 --> 00:04:48.830
>> Muito bem.
>> E se você fez um,

00:04:48.830 --> 00:04:51.430
Quero saber o que são imagens na
modo de exibição do sistema neste contêiner

00:04:51.430 --> 00:04:52.990
Você verá quatro
Neste ponto.

00:04:52.990 --> 00:04:54.930
>> Muito bem, absolutamente,
Você verá quatro.

00:04:54.930 --> 00:04:56.180
>> OK.
>> Vamos dar uma olhada no que.

00:04:56.180 --> 00:04:58.740
Na verdade, vamos dar uma olhada
as dependências entre elas.

00:04:58.740 --> 00:04:59.460
>> OK, excelente.

00:04:59.460 --> 00:05:02.680
>>, No meu host de contêiner
Se eu fosse levar meu aplicativo

00:05:02.680 --> 00:05:04.770
uma imagem
>> E implantá-lo,

00:05:05.930 --> 00:05:07.360
Eu teria um contêiner em execução,
>> Muito bem.

00:05:07.360 --> 00:05:08.380
>> Com o aplicativo 1.

00:05:08.380 --> 00:05:12.495
E esse recipiente seria
composto por essas três imagens.

00:05:12.495 --> 00:05:13.000
>> Mm-hm.

00:05:13.000 --> 00:05:16.380
>> Se eu fosse então implantar
um contêiner do aplicativo imagem 2,

00:05:16.380 --> 00:05:19.730
Agora tenho um contêiner em execução com

00:05:19.730 --> 00:05:21.780
>> Aplicativo dois, você pode vê-lo

00:05:21.780 --> 00:05:26.195
compartilha o servidor web comuns
imagem e imagem do sistema operacional base.

00:05:26.195 --> 00:05:27.020
>> À direita.

00:05:27.020 --> 00:05:27.990
>> Imagens de recipiente

00:05:27.990 --> 00:05:32.540
portanto ele pode literalmente compartilham
as instâncias dessas imagens.

00:05:32.540 --> 00:05:36.960
Espaço fica inativo, recipiente
Girar o tempo aumentou.

00:05:36.960 --> 00:05:39.160
>> E o uso de recursos
é muito eficiente.

00:05:39.160 --> 00:05:40.070
>> Muito bem, absoluta.

00:05:40.070 --> 00:05:40.950
>> OK.

00:05:40.950 --> 00:05:42.140
>> Vamos conter nossa
disposição em camadas de imagem, e

00:05:42.140 --> 00:05:43.980
Vamos dar uma olhada em
que demonstração.

00:05:43.980 --> 00:05:49.050
E mais uma vez, um dos meus objetivos aqui
era o tipo de ponto de alguns dos

00:05:49.050 --> 00:05:52.310
as diferenças entre o trabalho
com uma máquina virtual, no

00:05:52.310 --> 00:05:58.010
um centro de sistema muito tempo, tipo
Centralizar o tipo de gerenciamento de dados

00:05:58.010 --> 00:06:01.630
para implantação de máquinas virtuais
de imagens é algo-

00:06:01.630 --> 00:06:02.180
>> E modelos.

00:06:02.180 --> 00:06:03.780
>> Sim, isso é algo
Fiz um pouco.

00:06:03.780 --> 00:06:05.410
Ele altera um pouco aqui.

00:06:05.410 --> 00:06:09.110
A segunda coisa que
diferentes no trabalho com

00:06:09.110 --> 00:06:12.790
contêineres de VMs potencialmente
é a maneira como fazemos rede

00:06:13.850 --> 00:06:15.250
com nossos contêineres.

00:06:15.250 --> 00:06:17.240
Portanto, quando você pensa sobre
uma máquina virtual ou

00:06:17.240 --> 00:06:19.070
um host de máquina virtual.

00:06:19.070 --> 00:06:21.340
Vou colocar uma porção de
VMs diferentes no host, mas

00:06:21.340 --> 00:06:24.080
cada uma dessas VMs é
vai para ter um endereço IP.

00:06:24.080 --> 00:06:27.240
Eu realmente não gerenciar
eles qualquer forma diferente.

00:06:27.240 --> 00:06:30.290
>> À direita, então Nick e
Esse Nick tem seu Mac.

00:06:30.290 --> 00:06:31.900
>> Exatamente,
>> Apenas como um sistema físico.

00:06:31.900 --> 00:06:32.420
>> Exatamente.

00:06:32.420 --> 00:06:34.790
Se eu precisar acessar um recurso.

00:06:34.790 --> 00:06:39.400
Que está sendo hospedado dessa VM
Vou apenas para a VM

00:06:40.490 --> 00:06:42.740
como visto na imagem aqui.

00:06:42.740 --> 00:06:46.300
Assim como isso difere é, porque
Temos essa grande densidade

00:06:47.840 --> 00:06:50.900
capacidade, este grande densidade
capacidade com contêineres.

00:06:50.900 --> 00:06:55.070
Eu literalmente pode ter potencialmente
milhares dessas coisas

00:06:55.070 --> 00:06:59.190
em um host, em vez de
dando a cada um deles

00:06:59.190 --> 00:07:03.540
acesso público
Endereço IP.

00:07:03.540 --> 00:07:07.450
Algo que é comum
fazer na verdade é colocá-las atrás

00:07:09.150 --> 00:07:12.120
conversão de endereços de rede.

00:07:12.120 --> 00:07:16.030
Portanto, o host pode ter um IP
endereço público

00:07:16.030 --> 00:07:21.400
disponível no entanto meu contêiner
tem um endereço IP não routeable.

00:07:21.400 --> 00:07:25.370
E quando eu quiser acessar
o aplicativo em meu contêiner

00:07:25.370 --> 00:07:27.930
em vez de referência
Esse endereço IP, ou

00:07:27.930 --> 00:07:31.950
Esse nome de polarização net
associados a esse endereço IP.

00:07:31.950 --> 00:07:36.430
Em vez disso, vou
acessar o host e

00:07:36.430 --> 00:07:38.400
criaremos algumas mapeamento de porta
>> Sim.

00:07:38.400 --> 00:07:40.910
>> Entre os externos
porta no host e

00:07:40.910 --> 00:07:42.910
a porta interna
o aplicativo de contêiner.

00:07:42.910 --> 00:07:43.690
>> É exibida.
>> E o que

00:07:43.690 --> 00:07:46.270
Isso me permite fazer é se você
Pense nisso, talvez eu tivesse

00:07:46.270 --> 00:07:49.140
um host de contêiner que está sendo executado
>> Três centenas

00:07:49.140 --> 00:07:53.270
todos os servidores de aplicativos Web
conteúdo na porta oitenta.

00:07:53.270 --> 00:07:56.410
Se clico em contêiner
host na porta oitenta,

00:07:56.410 --> 00:07:59.410
Você sabe que ele precisa saber
como rotear a solicitação.

00:07:59.410 --> 00:08:01.230
>> Sim.
>> Então faremos esses mapeamentos.

00:08:01.230 --> 00:08:05.170
Eu poderia fazer como a porta 80 para a porta
80 e porta 82 a porta 60 e

00:08:05.170 --> 00:08:06.580
porta 83 para a porta 80.

00:08:06.580 --> 00:08:07.120
>> Sim.

00:08:07.120 --> 00:08:09.060
>> E veremos isso em
demonstração também.

00:08:09.060 --> 00:08:10.380
>> Interessante, portanto, é importante
a chamada que

00:08:10.380 --> 00:08:13.550
descrevi uma rede
que serão comuns

00:08:13.550 --> 00:08:18.340
para muitas pessoas, mas DHCP
também pode ser usado [INAUDIBLE]

00:08:18.340 --> 00:08:20.470
não é apenas uma rede
única solução.

00:08:20.470 --> 00:08:21.720
>> Yup, absolutamente,
Portanto, se você estiver.

00:08:21.720 --> 00:08:22.670
>> Você é uma empresa.

00:08:22.670 --> 00:08:24.960
>> DHCP pode ser usado
dentro de contêineres.

00:08:26.480 --> 00:08:29.400
O que eu estou encontrando que o NAT é
o cenário mais comum embora.

00:08:29.400 --> 00:08:30.820
>> Direita,
bem interessante, ótimo.

00:08:32.560 --> 00:08:34.270
>> E, em seguida, finalmente a última
Vamos examinar aqui é

00:08:34.270 --> 00:08:35.270
o registro de recipiente e

00:08:35.270 --> 00:08:37.010
falamos sobre isso
bastante um pouco já.

00:08:37.010 --> 00:08:39.530
Vamos examinar Hub de Docker
um registro disponível ao público,

00:08:39.530 --> 00:08:41.660
onde podemos dar esses
imagens de contêiner

00:08:41.660 --> 00:08:45.000
colocar no registro e
Puxe-as para baixo em outro lugar ou

00:08:45.000 --> 00:08:46.160
em outro host de contêiner.

00:08:46.160 --> 00:08:46.950
>> BOM.
OK.

00:08:46.950 --> 00:08:49.950
Então, acho que agora está na hora de
Examine a tecnologia.

00:08:49.950 --> 00:08:50.650
>> Muito bem.
Então, vamos pular para

00:08:50.650 --> 00:08:51.620
a demonstração.

00:08:52.620 --> 00:08:53.280
>> Digo que vamos fazer isso,

00:08:53.280 --> 00:08:57.470
é você fazê-lo, mas
Reclamar alguns, que estou ainda aqui.

00:08:57.470 --> 00:08:58.710
>> Certeza.
Então primeira coisa que vou fazer

00:08:58.710 --> 00:09:02.680
é agora, vamos fazer um
Examine a imagem colocando em camadas aqui.

00:09:02.680 --> 00:09:06.110
Portanto, vou começar criando
um contêiner com Ubuntu

00:09:06.110 --> 00:09:07.472
imagem do sistema operacional base.

00:09:07.472 --> 00:09:11.659
Portanto, o mesmo comando
Comandos que usamos em

00:09:11.659 --> 00:09:16.937
vídeo anterior,
docker run--ubuntu.

00:09:16.937 --> 00:09:20.373
>>-ele sendo interativo, que
significa iniciar diretamente e

00:09:20.373 --> 00:09:22.380
Você está na,
Nesse caso Bash.

00:09:22.380 --> 00:09:24.500
>> Estou no recipiente
em Bash agora.

00:09:24.500 --> 00:09:27.290
>> Então, é como se você
estavam em uma máquina com Windows e

00:09:27.290 --> 00:09:29.870
Havia algo definido como
iniciado automaticamente.

00:09:29.870 --> 00:09:32.058
Assim que a máquina
desativa,

00:09:32.058 --> 00:09:32.936
[CROSSTALK]
>> Você estiver

00:09:32.936 --> 00:09:33.540
Escolha o que você deseja usar.

00:09:33.540 --> 00:09:36.000
>> Sim, estamos informando-o que
processo a ser executado depois que podemos ir

00:09:36.000 --> 00:09:36.620
para o recipiente.

00:09:36.620 --> 00:09:38.560
>> E se isso foi
uma sessão não-interativa e

00:09:38.560 --> 00:09:39.580
ele seria um servidor web,

00:09:39.580 --> 00:09:42.510
você desejaria apenas o servidor web
serviços para iniciar diretamente.

00:09:42.510 --> 00:09:43.790
>> Muito bem, e
Vamos ver um exemplo disso.

00:09:43.790 --> 00:09:44.680
>> OK, excelente.

00:09:44.680 --> 00:09:47.088
>> Tudo bem, então isso dentro de
recipiente, vou vá em frente e

00:09:47.088 --> 00:09:48.073
Instale o software.

00:09:50.678 --> 00:09:53.610
Na verdade, vou
atualizar o aplicativo gito só para

00:09:53.610 --> 00:09:57.739
Atribua a ele uma nova lista de referências
e o software a ser instalado.

00:09:57.739 --> 00:10:00.441
>> Então espero não é completa
atualização de compilação no Linux e

00:10:00.441 --> 00:10:02.633
tudo para
o SO completo e tudo.

00:10:02.633 --> 00:10:03.492
>> Deve ser muito rápido.

00:10:03.492 --> 00:10:05.512
>> Lá, vamos lá.

00:10:05.512 --> 00:10:06.026
E, portanto,

00:10:06.026 --> 00:10:09.702
Depois que isso for feito, vou
Instale um componente de software.

00:10:09.702 --> 00:10:13.558
Captura que desativar em um novo
imagem do contêiner e o que

00:10:13.558 --> 00:10:17.412
Faremos o for, será realmente
Examine a imagem do Ubuntu e

00:10:17.412 --> 00:10:20.890
Veja minha nova imagem, e
tipo de ver como é mesclar.

00:10:20.890 --> 00:10:22.565
Veremos que
sobreposição de camadas.

00:10:22.565 --> 00:10:24.560
E, em seguida, continuaremos a
na parte superior desse construir e

00:10:24.560 --> 00:10:26.400
provavelmente, criaremos
um aplicativo nele.

00:10:26.400 --> 00:10:29.060
>> As atualizações que você acabou de fazer,
eles ainda não atualizados a base.

00:10:29.060 --> 00:10:30.525
>> Não.
>> Eles atualizou sua execução

00:10:30.525 --> 00:10:32.090
instância de base nele.

00:10:32.090 --> 00:10:34.120
>> Sim, para que as atualizações tenham
foi escrito em que zero

00:10:34.120 --> 00:10:35.970
espaço, o que irá
em seguida, tornam-se parte do

00:10:35.970 --> 00:10:37.310
a nova imagem
Vamos criar.

00:10:37.310 --> 00:10:39.729
>>, Mas, ninguém Implantando um novo
recipiente de base não

00:10:39.729 --> 00:10:41.138
Obtenha as atualizações
Você acabou de fazer.

00:10:41.138 --> 00:10:43.030
>> Exatamente.

00:10:43.030 --> 00:10:47.040
Portanto, get apt instalar nano.

00:10:47.040 --> 00:10:49.750
E mais uma vez, isso é apenas
outro editor de texto.

00:10:49.750 --> 00:10:52.860
Tudo certo, para que terminar.

00:10:52.860 --> 00:10:56.650
Portanto, dentro do recipiente,
É possível executar nano.

00:10:56.650 --> 00:10:59.676
Portanto, vou sair e Agora vou
sair do recipiente.

00:11:04.571 --> 00:11:08.830
E aqui está o contêiner que
acabamos de criar, elegante Santos.

00:11:08.830 --> 00:11:10.300
>> BOM.

00:11:10.300 --> 00:11:11.360
>> Por isso vou fazer Dr. Commit.

00:11:11.360 --> 00:11:14.520
>> Devo usar esse tipo de
abordagem para descobrir minha

00:11:14.520 --> 00:11:17.270
recurso de marcação jogador para
Xbox e eu realmente se esforçam.

00:11:17.270 --> 00:11:20.633
>> Demonstração de Commit Dr. todos os direitos.

00:11:23.370 --> 00:11:24.680
E, portanto,
Se observarmos imagens de Docker

00:11:24.680 --> 00:11:27.480
podemos ver que tenho
uma nova demonstração de imagem.

00:11:28.650 --> 00:11:33.200
Portanto, na verdade, vamos
lá no tipo de sobreposição

00:11:33.200 --> 00:11:35.970
entre o sistema operacional base de imagem e
o que acabamos de criar.

00:11:35.970 --> 00:11:37.680
Portanto, vou executar
histórico de Docker um comando.

00:11:40.230 --> 00:11:47.903
E, dê a ele o nome de
o contêiner que simplesmente,

00:11:47.903 --> 00:11:50.300
ou a imagem de contêiner
que que acabamos de criar.

00:11:50.300 --> 00:11:54.500
E também fazer a mesma coisa e
Execute o Ubuntu.

00:11:54.500 --> 00:11:57.660
Assim você pode ver aqui que
a imagem do Ubuntu é composta de

00:11:57.660 --> 00:11:59.360
quatro camadas.

00:11:59.360 --> 00:12:03.410
Cada vez que ele foi atualizado
foi criada uma nova camada e

00:12:03.410 --> 00:12:07.150
imagem oficial que foi
disponível no hub docker

00:12:07.150 --> 00:12:09.670
registro composto
Essas quatro imagens.

00:12:09.670 --> 00:12:10.980
>> Que 's não
algo que você fez.

00:12:10.980 --> 00:12:11.970
>> Que 's não
algo que eu fiz.

00:12:11.970 --> 00:12:15.850
Todos vem quando extraí que
imagem para baixo do hub de docker.

00:12:15.850 --> 00:12:16.640
>> Certo, tudo bem.

00:12:16.640 --> 00:12:19.070
Mas observe aqui que

00:12:20.650 --> 00:12:24.690
a imagem de demonstração que acabei de criar
é composto de cinco camadas.

00:12:24.690 --> 00:12:26.980
>> À direita.
>> E se, na verdade, esperamos aqui,

00:12:26.980 --> 00:12:30.510
a camada superior em
Ooboontoo termina em 498.

00:12:30.510 --> 00:12:34.100
Bem a quarta camada
backup em minha imagem.

00:12:34.100 --> 00:12:38.190
Termina em 498, então
as alterações que fiz

00:12:38.190 --> 00:12:42.740
são representados por
Essa camada aqui.

00:12:42.740 --> 00:12:45.300
>> Mesmo que você ainda está
Embora você tenha essencialmente

00:12:45.300 --> 00:12:47.900
duas imagens separadas, você
tem sua que tiver apenas

00:12:47.900 --> 00:12:49.260
são essencialmente em
o processo de criação.

00:12:49.260 --> 00:12:52.290
>> Para gerenciá-los como dois
separar as imagens, Sim exatamente.

00:12:52.290 --> 00:12:55.810
E o mecanismo de Docker
cuida de tipo de na,

00:12:55.810 --> 00:12:56.810
>> Costura todos juntos.

00:12:56.810 --> 00:12:58.190
>> Sim,
costurá-las integralmente.

00:12:58.190 --> 00:13:00.830
Sim, pode implantar apenas uma demonstração
mas

00:13:00.830 --> 00:13:03.650
ele vai prosseguir e
Certifique-se de que todos esses

00:13:03.650 --> 00:13:07.110
camadas são posicionadas
local onde precisam estar.

00:13:07.110 --> 00:13:10.290
Você realmente pode ver aqui, e
Na verdade, instalamos o software

00:13:10.290 --> 00:13:13.670
E nossa camada e você pode ver
que o tamanho da imagem

00:13:13.670 --> 00:13:16.070
alterado, bem como a colocamos
Esse software de lá.

00:13:16.070 --> 00:13:18.490
É por isso que apenas tipos de
uma demonstração sobre como que

00:13:18.490 --> 00:13:20.810
disposição em camadas funciona, e
Você pode usar isso para

00:13:20.810 --> 00:13:22.728
solução de problemas e
whatnot como seu.

00:13:22.728 --> 00:13:23.335
>> Ver qual [CROSSTALK]
>> as alterações

00:13:23.335 --> 00:13:24.842
>> Foram feitas no passado.

00:13:24.842 --> 00:13:26.500
>> Sim, e você pode
Na verdade, ir, talvez desejo

00:13:26.500 --> 00:13:27.660
>> Iniciando de um recipiente

00:13:27.660 --> 00:13:30.330
usando um meio
imagens para ver o tipo de

00:13:30.330 --> 00:13:33.040
aparência de camada
Quando em execução em um recipiente.

00:13:33.040 --> 00:13:34.840
>> É quase igual
um controle de versão.

00:13:34.840 --> 00:13:37.030
>> Absolutamente.
>> Em uma cuz de maneira você os viu.

00:13:37.030 --> 00:13:39.240
Estou pensando se eu estava em
um lado do SharePoint e

00:13:39.240 --> 00:13:41.330
Eu fiz a mudar para um documento
Eu sempre pode voltar atrás e

00:13:41.330 --> 00:13:42.830
Procure anterior.

00:13:42.830 --> 00:13:45.390
Para fazer alterações e isso
Estamos can onde ele altera, página.

00:13:45.390 --> 00:13:46.700
>> Ou se meu aplicativo quebrou,

00:13:46.700 --> 00:13:48.400
Talvez eu quero voltar para
a imagem anterior e

00:13:48.400 --> 00:13:49.710
apenas tipos de ver do
acontecendo lá.

00:13:49.710 --> 00:13:51.210
>> Yup.
>> E simplesmente obter minhas mãos

00:13:51.210 --> 00:13:51.940
Isso definitivamente.

00:13:51.940 --> 00:13:53.070
>> OK, todos os direitos.

00:13:53.070 --> 00:13:56.085
>> Tudo bem, então vamos
Expanda que um pouco.

00:13:56.085 --> 00:13:57.780
> Sabemos quanto tempo
Essa lista pode ser?

00:13:58.830 --> 00:13:59.680
Está lá.

00:13:59.680 --> 00:14:01.710
>> Eu não sei,
Não sei o quanto possível,

00:14:01.710 --> 00:14:06.680
mas certamente quando você entrar no
o procedimento de criação de imagens

00:14:06.680 --> 00:14:09.380
Você pode definitivamente,
Não há estratégia.

00:14:09.380 --> 00:14:12.598
Para garantir que suas imagens
são concisos e estratégia

00:14:12.598 --> 00:14:15.116
para gerenciar [CROSSTALK]
>> Você não precisa passar por

00:14:15.116 --> 00:14:16.309
milhares de histórico para

00:14:16.309 --> 00:14:18.230
mas cada alteração individual-
>> Sim, e

00:14:18.230 --> 00:14:20.050
mencionaremos um pouco
bit disso aqui, mas

00:14:20.050 --> 00:14:22.700
Há definitivamente, quero dizer
Não há artigos por aí

00:14:22.700 --> 00:14:26.920
sobre a criação de imagem adequada e
gerenciamento de imagem adequada.

00:14:26.920 --> 00:14:28.450
Definitivamente vale a pena ler.

00:14:28.450 --> 00:14:29.910
>> OK, ótimo.

00:14:29.910 --> 00:14:34.420
Todos os direito, portanto, tivemos uma base
imagem, criamos uma nova imagem,

00:14:34.420 --> 00:14:35.740
Instalei um software por ela.

00:14:35.740 --> 00:14:38.080
Vamos nos estender em que
um pouco e

00:14:38.080 --> 00:14:40.350
começar a criar
um aplicativo fora dele.

00:14:40.350 --> 00:14:44.932
Portanto, vou,
vou alternar algumas pastas aqui

00:15:00.597 --> 00:15:05.564
Então o que vamos fazer
é criar uma nova imagem.

00:15:05.564 --> 00:15:07.906
Vamos controlá-la de que
imagem que acabamos de criar, e

00:15:07.906 --> 00:15:10.170
Na verdade, vamos colocar alguns
software do servidor Web para ele.

00:15:10.170 --> 00:15:10.740
>> À direita.

00:15:10.740 --> 00:15:14.800
>> Agora até este ponto, você
foi criação manual de imagens.

00:15:14.800 --> 00:15:17.850
Para implantar o recipiente
Pular para ele,

00:15:17.850 --> 00:15:19.990
Posso fazer uma modificação,
Obter dele,

00:15:19.990 --> 00:15:23.130
e, em seguida, posso capturar
que a uma imagem.

00:15:23.130 --> 00:15:24.370
>> Sim.

00:15:24.370 --> 00:15:26.990
>> Docker tem um procedimento
que podemos usar para

00:15:26.990 --> 00:15:29.150
automatizar isso usando algo
chamado arquivo de docker.

00:15:29.150 --> 00:15:29.710
>> À direita.

00:15:29.710 --> 00:15:32.200
>> E o docker
arquivo realmente estamos jus

00:15:32.200 --> 00:15:33.550
escrever as instruções.

00:15:33.550 --> 00:15:34.920
E estamos dizendo: Ei.

00:15:34.920 --> 00:15:39.560
Criar um contêiner, execute estes
Quando você tiver terminado de comandos

00:15:39.560 --> 00:15:41.520
captura que out
nele é a própria imagem.

00:15:41.520 --> 00:15:43.150
Portanto, é apenas uma automatizada
modo de criação de imagens.

00:15:43.150 --> 00:15:45.580
>> É como um arquivo pequeno
Essencialmente, para fazer algo.

00:15:45.580 --> 00:15:46.260
>> Muito muito.

00:15:46.260 --> 00:15:47.920
>> Certo, tudo bem.
>> Aqui está um exemplo de um,

00:15:47.920 --> 00:15:50.140
e você pode ver isso
primeira linha de demonstração.

00:15:50.140 --> 00:15:54.480
O que estou dizendo é levar meu
Imagem, a imagem de demonstração que

00:15:54.480 --> 00:15:58.960
acabou de criar e executar todos
Esses comandos em relação a ele.

00:15:58.960 --> 00:16:02.030
>> Para esclarecer antes de executar
no, você já fez isso

00:16:02.030 --> 00:16:02.740
não é isso.

00:16:02.740 --> 00:16:03.360
>> Sim.

00:16:03.360 --> 00:16:05.470
>> Isso não é algo que
foi gerado com base em

00:16:05.470 --> 00:16:07.080
seu ambiente
até este ponto.

00:16:07.080 --> 00:16:09.840
>> Sim, boa chamá-lo apenas um
arquivo de texto acabou de criar

00:16:09.840 --> 00:16:11.645
antes do [INAUDIBLE]
>> Dessa forma, você escreveu isso.

00:16:11.645 --> 00:16:12.400
>> Muito bem.
>> OK, excelente.

00:16:12.400 --> 00:16:16.130
Muito bem, então apenas alguns
o mantenedor metadados e

00:16:16.130 --> 00:16:19.050
Execute o aplicativo get instalação nginx.

00:16:19.050 --> 00:16:21.900
Basicamente estou
dizer é rotação para cima

00:16:21.900 --> 00:16:23.858
um contêiner de demonstração da imagem.

00:16:23.858 --> 00:16:24.752
>> Mm-hm.

00:16:24.752 --> 00:16:26.540
>> Instale o nginx.

00:16:26.540 --> 00:16:27.370
>> Verifique se há atualizações para o.

00:16:27.370 --> 00:16:29.810
>> Sim, na verdade, eu realmente
comentou que o check-out.

00:16:29.810 --> 00:16:31.530
>> Cuz se você se lembra-
>> Fizemos já.

00:16:31.530 --> 00:16:35.370
>> Fizemos já quando
criamos a imagem.

00:16:35.370 --> 00:16:38.700
Expor a porta 80,
definir um diretório de trabalho, e

00:16:38.700 --> 00:16:43.270
em seguida, defina um comando para executar cada
iniciamos um contêiner de tempo

00:16:43.270 --> 00:16:44.230
usando essa imagem.

00:16:44.230 --> 00:16:45.340
Por isso estou basicamente dizendo, Ei,

00:16:45.340 --> 00:16:48.180
Quando isso for acionado
Inicie o mecanismo de x.

00:16:48.180 --> 00:16:50.494
Se você tem suficiente
Agora, os comentários no

00:16:50.494 --> 00:16:53.940
no será lento
a velocidade de

00:16:53.940 --> 00:16:56.630
a criação de imagem geral
porque, obviamente, tem deve ir

00:16:56.630 --> 00:16:58.950
por meio desse processo grande
que não demorou muito, mas

00:16:58.950 --> 00:17:03.210
era 30 segundos de downloads
pode haver maior no futuro.

00:17:03.210 --> 00:17:05.840
>> Sim, nesse caso,
ele realmente executada que

00:17:05.840 --> 00:17:08.650
processo novamente e ele teria
executada um pouco mais de tempo.

00:17:08.650 --> 00:17:10.910
E, na verdade, ele faz
algumas coisas também.

00:17:10.910 --> 00:17:14.800
Como veremos, de
cada linha em um arquivo de docker

00:17:14.800 --> 00:17:17.350
os links são criados
uma nova imagem para

00:17:17.350 --> 00:17:19.950
cada coisa que ocorre
dentro do arquivo médico.

00:17:19.950 --> 00:17:21.360
>> OK.

00:17:21.360 --> 00:17:23.640
>> Assim, vamos ver um exemplo
Isso aqui em um segundo.

00:17:23.640 --> 00:17:24.190
>> Válida. OK. Excelente.

00:17:24.190 --> 00:17:26.640
>>, Deixe-me sair isso.

00:17:26.640 --> 00:17:29.560
E, portanto, em vez de
para criar um recipiente

00:17:29.560 --> 00:17:31.090
Este alterar manualmente e

00:17:31.090 --> 00:17:35.298
capturar saída com um arquivo de docker
i fará apenas docker,

00:17:35.298 --> 00:17:40.290
Criar T, traço
>> O que significa o T?

00:17:40.290 --> 00:17:43.080
>> Apenas me permite
Nomeie a imagem.

00:17:43.080 --> 00:17:44.400
>> À direita.
>> Se não dar a um traço T,

00:17:44.400 --> 00:17:46.520
Ele apenas seria automaticamente
Gerar um nome ou

00:17:46.520 --> 00:17:48.090
Na verdade, acho que
fornece a ele sem nome.

00:17:48.090 --> 00:17:48.590
>> À direita.

00:17:50.540 --> 00:17:52.870
Portanto, esse será o nome de imagem
que você especificará lá?

00:17:52.870 --> 00:17:54.200
>> Muito bem.

00:17:54.200 --> 00:17:58.320
Demonginx, e
somente um ponto dizer Ei,

00:17:58.320 --> 00:18:01.060
Pegue o arquivo docker das
pasta em que estamos trabalhando no.

00:18:01.060 --> 00:18:01.560
>> Sim.

00:18:03.637 --> 00:18:05.290
>> E portanto, entrega.

00:18:05.290 --> 00:18:06.030
Ele vai prosseguir e

00:18:06.030 --> 00:18:07.980
faça todo o trabalho que
poderia ter feito manualmente.

00:18:07.980 --> 00:18:10.890
>> BOM.
>> E isso é importante.

00:18:10.890 --> 00:18:13.490
Isso permite que nós,
Quando pensamos coisas como

00:18:13.490 --> 00:18:15.630
Instruções de como
Infraestrutura como código,

00:18:15.630 --> 00:18:17.900
Quer dizer que é o que
ter acontecendo aqui.

00:18:17.900 --> 00:18:21.960
Portanto, se eu queria como reconstrução
Essa imagem em um determinado

00:18:21.960 --> 00:18:26.350
cadência, você sabe, em vez de
manualmente fazendo todo esse trabalho,

00:18:26.350 --> 00:18:31.160
Eu tenho este código define
O conteúdo da minha imagem, e

00:18:31.160 --> 00:18:32.700
Eu apenas pode executar novamente esta.

00:18:32.700 --> 00:18:34.320
>> E é consistente.

00:18:34.320 --> 00:18:35.847
>> É consistente
[CROSSTALK] Sim, OK.

00:18:35.847 --> 00:18:38.631
Isso é feito.

00:18:38.631 --> 00:18:43.210
Agora, se eu fazer imagens docker

00:18:43.210 --> 00:18:47.290
Vemos aqui que eu agora
ter demonginx esta imagem.

00:18:47.290 --> 00:18:48.330
Portanto, vamos dar uma olhada-
>> Então

00:18:48.330 --> 00:18:50.000
ele aumenta de tamanho por que?

00:18:50.000 --> 00:18:51.550
Tivemos um meg 18.

00:18:51.550 --> 00:18:52.637
>> Muito bem.
>> E que será

00:18:52.637 --> 00:18:55.812
o tamanho essencialmente para
a maior parte dos genetics de fim.

00:19:03.654 --> 00:19:04.490
Sim início.

00:19:04.490 --> 00:19:05.830
Para finalizar genética meg 18.

00:19:05.830 --> 00:19:07.180
>> Muito bem.

00:19:07.180 --> 00:19:10.290
>> O restante das alterações
quais foram as.

00:19:10.290 --> 00:19:11.030
Firewall e

00:19:11.030 --> 00:19:14.390
Você trabalhará até sua leitura
o prompt de comando zero isso.

00:19:14.390 --> 00:19:19.040
E você pode ver aqui, isso é
Isso deriva de demonstração que tinha

00:19:19.040 --> 00:19:22.820
cinco camadas, em vez de adicionar
apenas outra camada que ele adicionado

00:19:22.820 --> 00:19:25.850
silencioso algumas camadas e você pode
Veja, na verdade, cada uma delas

00:19:25.850 --> 00:19:31.750
camadas contém as etapas que
executamos o dockerfile.

00:19:31.750 --> 00:19:36.590
Então, falamos sobre as estratégias de
em torno da criação de imagens.

00:19:36.590 --> 00:19:38.210
Há algumas coisas
que vão para isso e

00:19:38.210 --> 00:19:40.410
você deseja ver o que está
colocando em seu dockerfile.

00:19:40.410 --> 00:19:41.540
>> Sim.
>> E há alguns

00:19:41.540 --> 00:19:45.110
truques que podemos fazer para tipo de
>> Verifique

00:19:45.110 --> 00:19:46.450
quantidade de camadas menores.

00:19:46.450 --> 00:19:49.220
>> Sim, e se você tem
um recipiente bastante complexo, ou

00:19:49.220 --> 00:19:52.160
muito complexa
requisito que você

00:19:52.160 --> 00:19:54.040
seria de canal em
o arquivo docker.

00:19:54.040 --> 00:19:57.770
Isso pode ser uma lista grande,
Quando você executa o comando.

00:19:57.770 --> 00:19:59.403
>> Sim, dê uma olhada neste.

00:19:59.403 --> 00:20:01.214
Portanto, vou fazer.

00:20:09.324 --> 00:20:11.531
Tenho outro
Arquivo de docker aqui.

00:20:11.531 --> 00:20:13.730
Criamos um recipiente
colocamos EngineX nele.

00:20:13.730 --> 00:20:19.060
Vamos dar um passo mais
e além para, bem,

00:20:19.060 --> 00:20:21.750
Usaremos esse recipiente que
inclui o software da web, mas

00:20:21.750 --> 00:20:24.000
Vamos prosseguir e
coloca um aplicativo nele.

00:20:24.000 --> 00:20:27.230
E, em seguida, vamos executar que
aplicativo e movê-lo.

00:20:27.230 --> 00:20:27.930
Uma das coisas,

00:20:27.930 --> 00:20:31.030
olhando para esse Docker
arquivo que eu fiz, isso

00:20:31.030 --> 00:20:35.480
Na verdade, instalando vários
coisas com esse arquivo de Docker.

00:20:35.480 --> 00:20:38.500
Portanto, estou executando o aplicativo get update.

00:20:38.500 --> 00:20:43.430
Depois instalando o gito
programa chamado nano, em rotação.

00:20:44.870 --> 00:20:49.930
Esta barra aqui é basicamente
um retorno de carro.

00:20:49.930 --> 00:20:50.470
>> Muito bem.
>> Mas

00:20:50.470 --> 00:20:53.490
Basicamente, esse um comando.

00:20:53.490 --> 00:20:55.330
>> À direita.
>> Isso em um comando

00:20:55.330 --> 00:20:57.580
Estou instalando todos
Este software.

00:20:57.580 --> 00:21:00.260
Em oposição a ter
um comando individual

00:21:00.260 --> 00:21:01.120
Para instalar cada um.

00:21:01.120 --> 00:21:04.303
Portanto, você pode ver aqui é
um exemplo em que eu estou minimizando

00:21:04.303 --> 00:21:06.436
a quantidade de camadas
Esse [CROSSTALK]

00:21:06.436 --> 00:21:07.477
>> Não haver quatro

00:21:07.477 --> 00:21:08.470
entradas na lista.

00:21:08.470 --> 00:21:09.680
Seria apenas uma única entrada.

00:21:09.680 --> 00:21:10.310
>> Exatamente.
>> OK.

00:21:10.310 --> 00:21:11.580
Vejo.
>> Assim, como pequenos truques

00:21:11.580 --> 00:21:14.210
Esse tipo de manutenção
as camadas de baixo.

00:21:14.210 --> 00:21:15.040
>> À direita.

00:21:15.040 --> 00:21:16.650
Deixe-me vá em frente e
Crie isso.

00:21:16.650 --> 00:21:20.570
Na verdade, vamos dar uma olhada
em que novamente rapidamente,

00:21:20.570 --> 00:21:22.090
destacar alguns
coisas que estou fazendo.

00:21:22.090 --> 00:21:24.690
Isso não só estou
aqui, o software de instalação

00:21:24.690 --> 00:21:28.010
Estou fazendo um pouco,
um pouco de configuração

00:21:28.010 --> 00:21:31.840
com o software do servidor web
que está dentro do recipiente

00:21:31.840 --> 00:21:34.250
mas observe também
Estou executando o clone get.

00:21:35.260 --> 00:21:38.540
Eu estou realmente clonagem
um aplicativo do GitHub

00:21:38.540 --> 00:21:41.000
no contêiner
em tempo de compilação.

00:21:41.000 --> 00:21:43.820
Por isso estou instalando alguns
software, alcançando

00:21:43.820 --> 00:21:48.350
obter algumas estático arquivos que
é basicamente um site que

00:21:48.350 --> 00:21:51.622
irá ver-
>> [INAUDÍVEL]

00:21:51.622 --> 00:21:54.471
-o como um servidor Web.

00:21:54.471 --> 00:21:57.228
>> Muito bem, exatamente.

00:21:59.500 --> 00:22:02.300
E, na verdade, vou colocar
alguns metadados sobre isso.

00:22:06.103 --> 00:22:11.310
Neil Peterson, e
Chamarei c9app essa imagem.

00:22:13.040 --> 00:22:13.580
E compilá-lo.

00:22:15.040 --> 00:22:17.330
E que este Neil Peterson
does é aqui,

00:22:17.330 --> 00:22:19.010
Tenho uma conta
em Hub Docker.

00:22:19.010 --> 00:22:19.590
>> À direita.
>> E

00:22:19.590 --> 00:22:21.800
é basicamente apenas um valor de chave.

00:22:21.800 --> 00:22:25.030
Quando vou para empurrar isso ela será

00:22:25.030 --> 00:22:26.800
Enviar esta imagem-
>> A sua -

00:22:26.800 --> 00:22:28.220
>> Em minha conta no Hub Docker.

00:22:28.220 --> 00:22:29.120
>> Que faz sentido.

00:22:29.120 --> 00:22:31.520
>> Muito bem, então ele está passando por,
ele está criando todos, ou

00:22:31.520 --> 00:22:33.160
ele está instalando o software.

00:22:33.160 --> 00:22:34.980
Vai para ir até Git0Hub.

00:22:34.980 --> 00:22:36.960
Pegue o aplicativo

00:22:36.960 --> 00:22:39.980
trazê-la para o contêiner
imagem e, em seguida, terá isso

00:22:39.980 --> 00:22:42.010
imagem de contêiner que
composto de várias camadas.

00:22:42.010 --> 00:22:46.010
Começamos com uma base de boonton
SO e é instalado na web

00:22:46.010 --> 00:22:49.540
software de servidor, agora estamos
instalar o aplicativo.

00:22:49.540 --> 00:22:51.130
Depois disso,
será implantada,

00:22:51.130 --> 00:22:54.170
Vamos começar olhando
as peças rede agora.

00:22:54.170 --> 00:22:57.920
Para tipo de encontramos
Imagem em disposição em camadas aqui.

00:22:57.920 --> 00:23:00.030
Vamos começar falando sobre
as partes da rede, e

00:23:00.030 --> 00:23:03.220
Se eu quisesse, talvez tenha
várias instâncias disso em

00:23:03.220 --> 00:23:07.660
o mesmo host, como faço isso
mapeamento de porta interna e externa.

00:23:07.660 --> 00:23:09.910
Para que eu possa acessá-lo.

00:23:09.910 --> 00:23:13.490
Assim, podemos terminar, isso

00:23:13.490 --> 00:23:18.590
Vamos consultas médicas imagens e
aí está ele.

00:23:18.590 --> 00:23:21.812
Portanto, há meu aplicativo nove do canal.

00:23:24.103 --> 00:23:27.010
Isso com esse pronto,
Vamos prosseguir e executá-lo.

00:23:27.010 --> 00:23:28.410
Portanto, vou fazer execução de Docker

00:23:29.500 --> 00:23:33.400
Agora até este ponto, temos
foi traço em execução t e

00:23:33.400 --> 00:23:37.200
saltar à direita, dentro do nosso tipo
abrir uma sessão dentro de

00:23:37.200 --> 00:23:39.290
nosso recipiente onde podemos
interagir com o sistema de arquivos.

00:23:39.290 --> 00:23:41.860
Quero fazer algo diferente
aqui e execute um traço d que

00:23:41.860 --> 00:23:44.140
basicamente executa o recipiente
no plano de fundo.

00:23:44.140 --> 00:23:48.190
>> Bem com qualquer padrão
as configurações foram definidas.

00:23:48.190 --> 00:23:49.530
>> Yup, exatamente.

00:23:49.530 --> 00:23:54.740
Tudo bem, isso
doc pode executar traço d e

00:23:54.740 --> 00:23:58.310
Eu irá capturar nossa imagem de contêiner
e bam.

00:24:00.520 --> 00:24:04.790
Se eu fizer um doc ou ps, podemos ver
Aqui está minha execução container,

00:24:04.790 --> 00:24:07.720
e novamente serão doc ou ps
Mostrar todos os recipientes em execução

00:24:07.720 --> 00:24:11.210
Docker PS traço A mostra
todos os recipientes que executam ou

00:24:11.210 --> 00:24:13.290
é o melhor nome para parado
muito bem.

00:24:13.290 --> 00:24:15.730
O que estamos recebendo aqui.

00:24:15.730 --> 00:24:16.586
Kickass cinza.

00:24:16.586 --> 00:24:17.718
>> BOM.

00:24:24.811 --> 00:24:28.010
>> Alguém levar
o endereço IP do

00:24:28.010 --> 00:24:29.100
>> O host do recipiente.

00:24:30.230 --> 00:24:31.770
Solte-o aqui.

00:24:31.770 --> 00:24:33.560
No entanto, observe que
nada aconteceu.

00:24:33.560 --> 00:24:34.460
Ela não encontrou nada.

00:24:34.460 --> 00:24:36.260
Então eu deixei intencionalmente
alguma coisa por aí e

00:24:36.260 --> 00:24:37.690
que é parte dessa rede.

00:24:37.690 --> 00:24:38.270
>> À direita.
>> Então

00:24:38.270 --> 00:24:41.610
Eu estou atingindo o IP externo
endereço do host do contêiner,

00:24:41.610 --> 00:24:44.510
mas eu realmente deu
-Não há instruções no

00:24:44.510 --> 00:24:47.640
como passar essa solicitação
para o recipiente.

00:24:49.970 --> 00:24:51.990
Para fazer isso.

00:24:51.990 --> 00:24:54.420
Podemos adicionar adicional
Peça aqui que é um traço P.

00:24:54.420 --> 00:24:58.190
E definir uma
Alguns mapeamentos de porta.

00:24:58.190 --> 00:25:02.930
Então isso executa pela primeira vez, vou
mapear a porta 80 do recipiente

00:25:02.930 --> 00:25:05.840
porta 80 do host do
o contêiner em si.

00:25:05.840 --> 00:25:12.620
Até 80, 80 basicamente
o mesmo comando, executa, de docker

00:25:12.620 --> 00:25:17.910
espaço de traço D espaço traço P, 80 80
e, em seguida, o nome da imagem.

00:25:19.090 --> 00:25:24.710
Isso feito isso,
Meu aplicativo deve ser agora.

00:25:24.710 --> 00:25:25.260
>> Início.

00:25:25.260 --> 00:25:27.530
Extraí que para baixo
do GitHub também.

00:25:27.530 --> 00:25:29.380
>> Sim, portanto o aplicativo
veio do GitHub também.

00:25:29.380 --> 00:25:30.560
>> BOM.

00:25:30.560 --> 00:25:35.140
Tudo certo, agora, isso
podemos ver este mapeamento aqui.

00:25:35.140 --> 00:25:38.060
Mas você pode rapidamente ser óbvia,

00:25:38.060 --> 00:25:40.810
i significa que tenho um
porta 80 no host.

00:25:40.810 --> 00:25:41.370
>> Sim.
>> Vamos

00:25:41.370 --> 00:25:45.580
Digamos que eu queria executar 300 desses
coisas dentro de meu contêiner.

00:25:45.580 --> 00:25:47.190
Talvez isso seja um serviço.

00:25:47.190 --> 00:25:48.240
Que estou vendendo.

00:25:48.240 --> 00:25:50.600
Efetuar login,
você compra um serviço, e

00:25:50.600 --> 00:25:52.410
tudo o que eu estou fazendo está girando
backup de um contêiner, mas

00:25:52.410 --> 00:25:56.420
Tenho vários desses, e
como é possível mapear portas adicionais?

00:25:56.420 --> 00:25:57.300
>> Sim.

00:25:57.300 --> 00:25:59.880
>> Para que vou executar
o mesmo comando, mas

00:25:59.880 --> 00:26:01.920
desta vez irá mapear
porta 81 para 80

00:26:01.920 --> 00:26:05.060
e talvez apenas executamos isso
Algumas vezes diferentes.

00:26:06.110 --> 00:26:07.900
Portanto, 82.

00:26:07.900 --> 00:26:12.890
Portanto, o que estou dizendo é, porta 83
no meu host mapeados para a porta 80

00:26:12.890 --> 00:26:16.140
Essa nova instância do
o contêiner que estou executando.

00:26:16.140 --> 00:26:19.590
Eu apenas irá fazer, porta 81.

00:26:19.590 --> 00:26:24.070
É bom ter uma senha aleatória,
e

00:26:24.070 --> 00:26:29.150
em seguida, farei 85 até agora,
Se executarmos docker ps, podemos ver

00:26:29.150 --> 00:26:32.940
Eu tenho um monte desses
tarefas em execução no meu host agora.

00:26:32.940 --> 00:26:36.100
>> E contêineres creative
livre-los também.

00:26:36.100 --> 00:26:36.710
>> Sim, portanto

00:26:36.710 --> 00:26:40.020
Tenho recipiente individual,
Tenho várias instâncias

00:26:40.020 --> 00:26:42.710
dessa imagem do contêiner em execução
Esse aplicativo em execução.

00:26:42.710 --> 00:26:43.290
>> Sim.
>> E

00:26:43.290 --> 00:26:49.145
Tenho o mapeamento de porta
>>, De forma que agora e deixe-me.

00:26:53.936 --> 00:26:55.895
Pegue o meu endereço IP novamente.

00:27:04.770 --> 00:27:09.616
Portanto, se, como porta 81 há
o aplicativo porta 83, há

00:27:09.616 --> 00:27:14.209
o aplicativo e vai apenas
Pegue um que não definimos

00:27:14.209 --> 00:27:18.580
87 e ele só está girando
não encontrou nada.

00:27:18.580 --> 00:27:19.510
>> Sim, ótimo.

00:27:19.510 --> 00:27:28.510
>> Certo, então isso foi, portanto
vimos em camadas de imagem,

00:27:28.510 --> 00:27:31.950
vimos o mapeamento de porta
Agora vamos levar este círculo completo

00:27:31.950 --> 00:27:36.140
e levar essa imagem
>> Desfazer-se dele para cima em um hub docker.

00:27:36.140 --> 00:27:36.710
>> Sim.
>> E

00:27:36.710 --> 00:27:40.250
em seguida, vamos retirá-lo
uma VM do Azure, executando Linux e

00:27:40.250 --> 00:27:43.420
o docker engine, só para
Veja algumas das que portabilidade.

00:27:44.550 --> 00:27:45.230
>> Excelente.

00:27:45.230 --> 00:27:49.150
>> Todos os direitos, imagens docker, portanto

00:27:49.150 --> 00:27:52.140
é este aqui
Quero lançar lá.

00:27:53.280 --> 00:27:59.350
Para fazer o envio de docker
>> E o nome da minha imagem.

00:28:02.610 --> 00:28:03.730
E enquanto que está carregando,

00:28:14.436 --> 00:28:15.910
Veja que aqui é meu Hub Docker.

00:28:15.910 --> 00:28:19.190
Tenho alguns do meu pessoal
imagens já posicionadas aqui.

00:28:19.190 --> 00:28:20.380
>> Muito bem.
>> E em

00:28:20.380 --> 00:28:23.390
apenas um pouco deveríamos
Consulte a nova imagem.

00:28:23.390 --> 00:28:26.470
>> Então é essencialmente, poderá
ele sabe que as suas dependências

00:28:26.470 --> 00:28:28.310
Talvez já exista?

00:28:28.310 --> 00:28:29.130
E você espera
>> Sim, Sim.

00:28:29.130 --> 00:28:30.600
>>, portanto, que ele
não precisa ser pressionado

00:28:30.600 --> 00:28:32.660
o valor total de cada vez, ou
>> Sim, exatamente.

00:28:32.660 --> 00:28:34.050
Para que uma Docker se encarrega de,

00:28:34.050 --> 00:28:36.965
novamente, gerenciando as camadas para
nós.

00:28:36.965 --> 00:28:37.680
>> Mm-hm.

00:28:37.680 --> 00:28:41.460
Certo, Sim causa você tem 286
Meg, mas eu presumo que isso, mas

00:28:41.460 --> 00:28:43.290
com base no tamanho do
a imagem atual.

00:28:43.290 --> 00:28:46.160
Mas estou pressupondo que a maioria dos
que se não a maioria

00:28:46.160 --> 00:28:47.480
já existirá.

00:28:47.480 --> 00:28:48.680
>> Muito bem, exatamente.

00:28:48.680 --> 00:28:52.480
E na ordem inversa, se eu tenho
um host que não possui imagens nele

00:28:52.480 --> 00:28:54.430
e vou suspenso nosso aplicativo C9.

00:28:54.430 --> 00:28:57.560
>> Você sabe e aparecerá como
Ei incluída nesta que é obtido

00:28:57.560 --> 00:28:59.560
uma dependência
a imagem do Ubuntu.

00:28:59.560 --> 00:29:00.800
Suspenso que o bem, vamos
e

00:29:00.800 --> 00:29:04.480
Na verdade, obterá todos
as imagens associadas ou

00:29:04.480 --> 00:29:07.150
todas as imagens de referência
com base na imagem que

00:29:07.150 --> 00:29:08.160
Você está recebendo.

00:29:08.160 --> 00:29:11.865
>> E, você precisa ter qualquer
conta especial para inscrever-se

00:29:11.865 --> 00:29:13.130
O Dr. Hub, qualquer pessoa pode inscrever?

00:29:13.130 --> 00:29:15.530
>> Sim, você pode simplesmente ir para recuperação de desastres.
Hub e inscrição.

00:29:15.530 --> 00:29:17.790
>> É certo e não
>> Um 500 MB para reproduzir

00:29:17.790 --> 00:29:19.680
Eu tem uma quantidade ilimitada?

00:29:19.680 --> 00:29:21.630
>> Não tenho certeza
Esses detalhes.

00:29:21.630 --> 00:29:23.640
>> Tudo bem, tenho certeza de que você pode verificar.

00:29:23.640 --> 00:29:25.850
>> Sim, mas
Além disso docker

00:29:25.850 --> 00:29:28.730
eles têm o software
Crie hubs particulares também.

00:29:28.730 --> 00:29:29.960
>> Direita, para as empresas.

00:29:29.960 --> 00:29:32.790
>> O que estamos lidando com direito
Aqui está uma face pública

00:29:32.790 --> 00:29:35.230
um, mas você pode criar seu próprio
repositórios particulares também.

00:29:35.230 --> 00:29:36.390
>> Seria ninguém, portanto,

00:29:36.390 --> 00:29:38.380
ser capaz de obter
seus aplicativos aqui?

00:29:38.380 --> 00:29:39.780
>> Agora, Sim, absolutamente.

00:29:39.780 --> 00:29:40.620
>> OK, boa o suficiente.

00:29:40.620 --> 00:29:43.290
Você pode criar
seu próprio um particular?

00:29:43.290 --> 00:29:44.120
>> Sim.

00:29:44.120 --> 00:29:44.730
>> OK, ótimo.

00:29:46.020 --> 00:29:47.630
>> Todos os direitos, portanto pronto.

00:29:47.630 --> 00:29:49.010
Se subir um Hub Docker e

00:29:49.010 --> 00:29:53.310
Atualizar
aí está ele ali.

00:29:53.310 --> 00:29:55.546
>> Sim, ótimo.

00:29:55.546 --> 00:30:01.011
Então o que vou fazer agora é
Tenho uma VM Linux

00:30:01.011 --> 00:30:06.753
em execução no Azure e
ele é configurado com o Docker.

00:30:06.753 --> 00:30:09.548
Portanto, estou apenas criar
uma sessão em que VM.

00:30:16.868 --> 00:30:19.262
Isso está sendo executado no Microsoft
Isso não está sendo executado o mesmo

00:30:19.262 --> 00:30:20.984
Isso não está na mesma VM
que estava sendo executado em seu

00:30:20.984 --> 00:30:21.740
laptop antes.

00:30:21.740 --> 00:30:22.280
>> Exatamente.

00:30:22.280 --> 00:30:24.108
>> Tudo bem, vamos apenas e
Dê uma olhada nisso.

00:30:36.283 --> 00:30:41.410
Monte de recursos no Azure
médico e contêineres.

00:30:41.410 --> 00:30:43.980
Definitivamente algo que pode se aprofundar
em um futuro cuz vídeo lá

00:30:43.980 --> 00:30:46.360
é apenas uma tonelada de,
tonelada de recurso aqui.

00:30:47.410 --> 00:30:51.230
E, por isso, se observarmos o recurso
grupos e TWODocker,

00:30:53.480 --> 00:30:56.830
Basicamente, tinha um recurso
grupo que inclui uma VM e

00:30:56.830 --> 00:31:00.379
endereço IP de face público
Whatnot [INAUDÍVEL] ou seja.

00:31:00.379 --> 00:31:02.785
>> OK.
>> Totalmente configurado com Docker

00:31:02.785 --> 00:31:04.060
e Voltaremos a isso.

00:31:04.060 --> 00:31:07.340
Portanto, se eu um docker ps - a,

00:31:07.340 --> 00:31:10.390
Você pode ver que tenho nenhum
recipientes em execução nesse host.

00:31:10.390 --> 00:31:15.310
Se eu fizer imagens docker que podemos
ver que não tenho nenhum docker

00:31:15.310 --> 00:31:16.380
imagens aqui também.

00:31:18.540 --> 00:31:20.270
Farei docker aplicativo de pesquisa.

00:31:20.270 --> 00:31:24.720
Muito bem, assim você pode ver

00:31:24.720 --> 00:31:29.540
de hub docker for encontrado
O aplicativo simplesmente criado, isso

00:31:29.540 --> 00:31:33.480
Farei docker executar -d -p.

00:31:33.480 --> 00:31:36.160
Novamente, quero mapear as portas.

00:31:36.160 --> 00:31:38.190
>> Assim você não vai fazer
necessidade de que isso, em seguida

00:31:38.190 --> 00:31:39.940
criar um contêiner, você está apenas
vai fazer tudo de uma vez?

00:31:39.940 --> 00:31:40.440
>> Sim, exatamente.

00:31:40.440 --> 00:31:44.330
Portanto, poderia executar o pool docker e
uma etapa, mas se devo fazer

00:31:44.330 --> 00:31:48.300
é um docker executar e imagem
ainda não foi testado no host,

00:31:48.300 --> 00:31:49.470
ele vai chegar e
suspenso para mim.

00:31:49.470 --> 00:31:50.388
>> Muito bem, OK, excelente.

00:31:52.524 --> 00:31:55.107
Você precisa conceder a mesmo
uma revisão mais tarde,

00:31:55.107 --> 00:31:56.801
Você precisa de uma estrela no
Há pelo menos.

00:31:56.801 --> 00:31:58.577
>> [RIR]
>> Para o aplicativo C9, muito bem,

00:31:58.577 --> 00:31:59.317
claro que Sim.

00:31:59.317 --> 00:32:00.723
>> Você pode ver ali,

00:32:00.723 --> 00:32:02.721
não é possível localizar
a imagem localmente.

00:32:02.721 --> 00:32:03.350
>> Mm-hm.
>> E assim por

00:32:03.350 --> 00:32:04.160
ele vai sair e puxe-o.

00:32:04.160 --> 00:32:07.431
E você pode ver que ele está recebendo
um grupo de camadas diferentes aqui

00:32:07.431 --> 00:32:10.895
e isso vai não ser somente a
imagem de contêiner que criamos

00:32:10.895 --> 00:32:13.862
Esse laptop-[CROSSTALK] mas
todas as dependências.

00:32:13.862 --> 00:32:15.686
Enquanto isso está recebendo,

00:32:15.686 --> 00:32:19.334
algumas coisas para chamar a atenção
específico para o Azure porque sou

00:32:19.334 --> 00:32:22.526
mapeamento de porta 80 em 80
Vou precisar

00:32:22.526 --> 00:32:25.280
Azure configurado para
aceite esse tráfego.

00:32:25.280 --> 00:32:27.420
>> Muito bem, então você precisa de um ponto final
ponto configurado para a máquina virtual.

00:32:27.420 --> 00:32:28.150
>> Muito bem, muito bem.
Portanto, eu

00:32:28.150 --> 00:32:31.340
tem uma segurança de rede
grupo configurado.

00:32:31.340 --> 00:32:35.840
No Azure com alguns
para regras de entrada

00:32:35.840 --> 00:32:37.650
Temos 80 direita
Há que irá funcionar.

00:32:37.650 --> 00:32:40.640
Uma coisa que ainda não fizemos
durante a isso é executado é

00:32:40.640 --> 00:32:44.230
Recipientes de servidor Windows,
gerenciá-las com Docker.

00:32:44.230 --> 00:32:48.490
Quero dizer, a maioria dos que vimos
aqui é exatamente como você faria

00:32:48.490 --> 00:32:50.580
trabalhar com um servidor Windows
recipiente também.

00:32:50.580 --> 00:32:53.210
>> E alguns outros
vídeos no canal, na verdade,

00:32:53.210 --> 00:32:54.070
Mostre que.

00:32:54.070 --> 00:32:55.480
>> Muito bem.
>> E qualquer pessoa que é observada

00:32:55.480 --> 00:32:57.750
Esses e
analisando esses comandos

00:32:57.750 --> 00:32:59.560
eles são praticamente idênticos,
Se não fossem idênticos.

00:32:59.560 --> 00:33:00.160
>> Praticamente idênticos,

00:33:00.160 --> 00:33:03.290
Sim, totalmente para baixo para
Trabalhando com os arquivos docker.

00:33:03.290 --> 00:33:04.580
>> Muito bem.
>> Todos os direitos, portanto

00:33:04.580 --> 00:33:05.570
que conclusão, isso

00:33:05.570 --> 00:33:07.810
Se eu fizer ps de docker
>> Então

00:33:07.810 --> 00:33:10.030
Essa imagem é agora
em VM do Azure.

00:33:10.030 --> 00:33:12.860
Portanto, foram retirado das
Hub de docker no Azure dentro de seus

00:33:12.860 --> 00:33:15.880
VM e o contêiner tem
foi criado da.

00:33:15.880 --> 00:33:17.700
>> Esta ter sido criada e
ele é executado.

00:33:17.700 --> 00:33:19.270
>> À direita.
>> Agora, se eu executar o

00:33:19.270 --> 00:33:20.055
>> O momento da verdade.

00:33:20.055 --> 00:33:22.060
>> Endereço IP [DIVERTIDO],

00:33:22.060 --> 00:33:25.520
o endereço IP público
da minha VM Azure.

00:33:25.520 --> 00:33:26.570
Solte-o no local.

00:33:26.570 --> 00:33:28.340
Eu tinha mapeado a porta 80 para a porta 80.

00:33:28.340 --> 00:33:29.030
>> Boom.

00:33:29.030 --> 00:33:31.490
>> E há meu aplicativo
em execução no Azure para.

00:33:31.490 --> 00:33:32.840
>> BOM.
Portanto, agora é em hiperdimensionamento?

00:33:32.840 --> 00:33:34.306
>> Sim praticamente Sim.

00:33:34.306 --> 00:33:37.716
[RIR] Assim que o círculo completo,
criado o aplicativo

00:33:37.716 --> 00:33:41.057
[CROSSTALK] no meu laptop,
Empurre-a para Docker Hub.

00:33:41.057 --> 00:33:43.590
Extraídas que no Azure.

00:33:43.590 --> 00:33:47.760
Enquanto isso, nós examinamos alguns
os mapeamentos de porta de rede.

00:33:47.760 --> 00:33:49.460
>> Sim.
>> Quando temos aqueles

00:33:49.460 --> 00:33:52.810
NET e tenha o tipo de
observou como funcionam essas imagens

00:33:52.810 --> 00:33:54.250
Quando em camadas no
parte superior do outro.

00:33:54.250 --> 00:33:54.750
>> Awesome.

00:33:58.760 --> 00:34:01.300
Acho que você sabe que
como uma demonstração da extremidade para encerrá-lo

00:34:01.300 --> 00:34:03.300
Não perca muito
melhor do que isso.

00:34:03.300 --> 00:34:04.630
Criar o aplicativo.

00:34:05.670 --> 00:34:08.850
Movido para um local onde ele está
acessível para todos os seus,

00:34:08.850 --> 00:34:11.710
Digamos que o desenvolvimento de Y
equipe, que pode, em seguida, puxe-

00:34:11.710 --> 00:34:14.470
em sua máquina, se seus
em um laptop ou estação de trabalho ou

00:34:14.470 --> 00:34:17.520
servidor do Centro de dados, ou
backup na nuvem pública.

00:34:17.520 --> 00:34:19.480
Quero dizer, ou seja,
é excelente.

00:34:19.480 --> 00:34:22.340
E se você deseja saber mais
Fique sintonizado no canal

00:34:22.340 --> 00:34:24.680
porque no futuro vídeos será
estarão em níveis iguais de

00:34:24.680 --> 00:34:28.270
profundidade em algumas das outras áreas
ambos em contêineres do Windows 7 e

00:34:28.270 --> 00:34:31.290
na plataforma de Lenox
como os serviços de contêiner

00:34:31.290 --> 00:34:33.710
uma vasta gama de materiais
diferentes direções será

00:34:33.710 --> 00:34:35.320
estarão, portanto, preste atenção.

00:34:35.320 --> 00:34:36.800
Mas em termos de
recursos recomendados,

00:34:36.800 --> 00:34:37.780
Certifique-se de fazer check-out e

00:34:37.780 --> 00:34:40.140
Baixe o Windows mais recente
visualização técnica 7.

00:34:40.140 --> 00:34:40.770
Para testar isso.

00:34:40.770 --> 00:34:43.520
Obviamente, você pode usar o Linux
[INAUDÍVEL] se desejar acompanhar

00:34:43.520 --> 00:34:46.120
as demonstrações Neil entregue,
Você pode acompanhar e

00:34:46.120 --> 00:34:48.770
fazer coisas semelhantes para
auxiliam seu aprendizado.

00:34:48.770 --> 00:34:52.790
Confira os recursos Docker
em Docker.com\Microsoft em

00:34:52.790 --> 00:34:58.700
o site de documentos Docker caso,
Docker.com\Windows\started.

00:34:58.700 --> 00:35:00.835
E confira os contêineres
documentação sobre

00:35:00.835 --> 00:35:03.800
MSDN.microsoft.com e
no Github.

00:35:03.800 --> 00:35:05.830
E com que, nada mais
para dizer obrigado Neil assim

00:35:05.830 --> 00:35:07.780
muito por sua ajuda na série.

00:35:07.780 --> 00:35:08.340
>> Apreciam isso.

00:35:08.340 --> 00:35:10.147
>> E vejo vocês novamente no
outro canal de contêineres

00:35:10.147 --> 00:35:10.897
episódio, Obrigado.

00:35:10.897 --> 00:35:20.897
[MÚSICA]

