Sie sind auf Seite 1von 104

Fabio Hara | @fabiohara

} }
}
Container Run-Time Container Images Image Repository

Aplicaes

Linux Frameworks
de aplicao
Imagem

Servidor fsico
Imagem

Virtual
machine(s)
Containers
Containers

Imagem

Virtual
machine(s)
Repositrio Viso do
Local Container
Sandbox

Repositrio Viso do
Local Container
C:\nodeJS

Sandbox

Repositrio Viso do
Local Container
C:\nodeJS

Sandbox

Repositrio Viso do
Local Container
Sandbox

Repositrio Viso do
Local Container
Repositrio Viso do
Local Container
Sandbox

Repositrio Viso do
Local Container
C:\myApp

Sandbox

Repositrio Viso do
Local Container
C:\myApp

Sandbox

Repositrio Viso do
Local Container
Sandbox

Repositrio Viso de
Local Container
Repositrio Viso do
Local Container
}
https://hub.docker.com
Repositrio
Central

Repositrio
Local
Repositrio
Central

Repositrio
Local
Repositrio
Central

Repositrio
Local
using System;
class Program
{
static void Main()
{

}
}

Repositrio
Central

Repositrio
Local
using System;
class Program
{
static void Main()
{

}
}

Repositrio
central

Repositrio
Local
using System;
class Program
{
static void Main()
{

}
}

Repositrio
Central

Repositrio
Local
using System;
class Program
{
static void Main()
{

}
}

Repositrio
Central

Repositrio
Local
Repositrio
Central
Utilizado parateste
unitrio
Repositrio
Compartilhado com Central
outros
desenvolvedores
Utilizado parateste
unitrio
Repositrio
Compartilhado com Central
outros
desenvolvedores

Em estgio para
integrao ou QA
Processos de DevOps com Containers
Desenvolvedores atualizam,
interagem e implantam
containers atualizados

3
Operaes colaboram com
desenvolvedores para provr mtricas de
Apps e Insights
Desenvolvedores
controem e testam apps Operaes automatizam
em containers, usando 1 Central 2 implantao e
ambiente de Repository
monitoram apps do
Desenvolvimento (ex: repositrio central
Visual Studio)

Containers enviados
para o repositrio
central
Caractersticas de workload


Computao
Distribuda Databases Web

Caractersticas de implantao

Tarefas Scale Out


Nano Server Server Core

Altamente otimizado Altamente compatvel

Aplicaes Aplicaes tradicionais


Born in the cloud
Windows Server Container

TRUSTED
Altamente Escalvel e
HOSTING Seguro Eficiente MULTI-TENANCY
Automatizvel Elstico

Hyper-V Container

Hosting PUBLIC
WORKLOAD Altamente Escalvel e
Compartilhado Seguro Eficiente MULTI-TENANCY
CONTROLADO Automatizvel Elstico
Container Run-Times Docker

Hyper-V Container

PowerShell

Outros

Imagens de Windows Server


Windows Container Gerenciamento de
Container Containers
Windows Server
Containers
Windows Server
Container(s)
Hyper-V
Container(s)

Virtual
machine(s)
Windows Server
Container(s)

Hyper-V
Container(s)

Virtual
machine(s)
1. Abrir PowerShell em modo Administrativo

2. Faa Windows Update aps reiniciar


3. Verificar instalao
1. Instalar modulos mais novos de Container
para PowerShell
1. Abrir PowerShell em modo administrativo
2. Comando Docker para listar repositrio pblico com
imagens da Microsoft

3. Ex: baixe a imagem de Windows Server Core


Abrir Explorer

Visualizando via PowerShell e Docker


Adicionar TAG para a imagem ser utilizada

Visualizar imagens existentes


1. Abrir PowerShell em modo Administrativo

2. Baixando container

3. Iniciar container em background (-d), mapear porta do


host p/ o container (-p) e executar PING para manter
container no ar

4. Visualizando container em execuo (ps)


1. Verificar qual IP est em uso no Host

2. Usar outro computador na sua rede e digitar no


browser o IP do Host (passo 1)
1. Visualizar container em execuo e anotar nome

2. Remover container (rm) fora (-f)

3. Visualizar containers ativos


1. Abrir PowerShell em modo Administrativo
2. Iniciar container em modo interativo (-it), mapear porta do host
p/ o container (-p) e visualizar comando

3. Abrir outro PowerShell em modo administrativo e visualizar


containers

4. Voltar para 1 janela do PowerShell com comando PING e


derrubar container

5. Voltar para 2 janela do PowerShell com comando Docker ps e


executar novamente
1. Abrir PowerShell em modo Administrativo
2. Criar novo container e executar CMD

3. Apagar pagina inicial do IIS

4. Criar nova pagina

5. Fechando sesso do container


1. Verificar nome do container

2. Criar nova imagem de container (commit)

3. Visualizar imagens criadas


1. Informar imagem de container a ser usada

2. Executar comando (exec form ou shell form)

3. Copiar dados

4. ADD (similar ao COPY)


1. Diretrio de trabalho

2. Comando padro para ser executado no deploy de uma


instncia de container (exec form e shell form)
1. Varias linhas de comando via ESCAPE (caractere \ ou `)

2. Usando caractere `
1. Comandos PowerShell no Dockerfile

2. Chamada REST
1. Comando PowerShell no Dockerfile

2. Chamada REST (usando invoke-webrequest)

3. Chamada REST (usando biblioteca .Net WebClient)


1. PowerShell script no Dockerfile
1. Criar diretrio para repositrio do Dockerfile

2. Editar Dockerfile com Notepad

3. Criar nova imagem (usando microsoft/iis:windowsservercore) e


executar comando

4. Criar nova imagem a partir do Dockerfile


Visualizar imagens disponveis

Vsualizar histrico de criao da imagem

Implantar novo container baseado em imagem

Teste: verificar IP do host e abrir browser em outra maquina usando este IP


Verificar nome do container em execuo

Remover container (rm)

Extra: remover imagem (rmi)


1. Abrir PowerShell em modo administrativo e listar
imagens de container disponveis

2. Listar imagens do Docker Hub

3. Baixar imagem com Apache para Windows Server Core

4. Baixar imagem com Apache para Nano Server

5. Listar imagens locais


1. Instalar VM com Windows Server 2016 e
desligar
2. Executar comandos PowerShell no Host
1. Verificar se Host suporta virtualizao

2. Instalar Role de Hyper-V

3. Reiniciar servidor (caso no reinicie aps


instalao)
1. Instalar VM com Windows Server 2016 e
desligar
2. Executar comandos PowerShell no Host
1. Copiar arquivo ISO do Windows Server 2016 localmente
e montar volume

2. Importar mdulo

3. Abrir PowerShell em modo Administrativo e criar


imagem de Nano Server
1. Criar diretrio para armazenar VM (ex: c:\VM\Nano)
2. Copiar arquivo Nano.VHD para pasta
3. Criar VM com nome Nano e usar VHD existente
(Nano.VHD)
1. Modo de isolamento (no executar)

2. Modo normal

3. Visualizando processo do ping via Docker

4. Visualizando processo do ping pelo Windows


1. Iniciar container em modo isolado

2. Visualizando processo do ping via Docker

3. Visualizando processo via Windows

4. Visualizando o container isolado


1. Executar container e criar volume

2. Criar arquivo na pasta c:\novo-volume-dados


1. Criar pasta no Host e copiar arquivos

2. Executar container montando volume de dados


existente no Host (c:\origem) para dentro do
container (c:\destino

3. Visualizar contedo
1. Criar pasta e arquivo de teste no host

2. Executar container e mapear arquivo

3. Visualizar conte[udo de diretrio de dentro do container

4. Inspecionando volume compartilhado


1. Controlando recurso de CPU (1-10000, default
5000) para 2 processadores virtuais

OBS: CPU e IO ainda no suportado em


Hyper-V Containers
IO ainda no suportado com volume de
dados
1. Tambem conhecido como Nested Virtualization
2. Caso queira criar containers hyper-V dentro da VM
Nano Server basta executar o script PowerShell abaixo
1. Logon na console do Nano Server e acesse Inbound
Firewall Rules
2. Entrar em cada regra de File and Printer Sharing e
habilitar regra

3. Opcional habilitar gerenciamento remoto via WinRM

4. Verificar qual IP utilizado pelo Nano


Nano Server no suporta Invoke-WebRequest
Download local (ex: via Host) do Docker

Conectar remoto na VM Nano Server

Criar pasta C:\Docker, compartilhar e copiar contedo baixado


Registrar servio do Docker no Windows

Inicializar servio do Docker

Instalar Package Provider para Windows Containers

Baixar e instalar imagem base de Nano Server


Obs: comando ainda no est disponvel para Host Nano
Arquivo daemon.json

Permitir conexo do Docker daemon na TCP 2375


Powershell

Docker

Das könnte Ihnen auch gefallen