#VSSUMMIT
Giovanni Bassi
Um mergulho nos containers Windows
Lambda3, MVP
@giovannibassi
#VSSUMMIT
@GiovanniBassi
#VSSUMMIT
VMs vs Contêineres
Servidor
SO hospedeiro
Hypervisor
SO virtual
Bin/Libs X
App A
SO virtual
Bin/Libs Y
App B
Servidor
SO hospedeiro
Motor Docker
Bin/Libs X
App A
Bin/Libs Y
App B
VMs
Contêineres
#VSSUMMIT
.NET Core
FROM microsoft/nanoserver:10.0.14393.1198
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference =
'SilentlyContinue';"]
# Install .NET Core
ENV DOTNET_VERSION 1.0.5
ENV DOTNET_DOWNLOAD_URL
https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/$DOTNET_VERSION/dotnet-win-
x64.$DOTNET_VERSION.zip
RUN Invoke-WebRequest $Env:DOTNET_DOWNLOAD_URL -OutFile dotnet.zip; 
Expand-Archive dotnet.zip -DestinationPath $Env:ProgramFilesdotnet; 
Remove-Item -Force dotnet.zip
RUN setx /M PATH $($Env:PATH + ';' + $Env:ProgramFiles + 'dotnet')
https://github.com/dotnet/dotnet-docker/blob/master/1.0/runtime/nanoserver/Dockerfile
#VSSUMMIT
#VSSUMMIT
#VSSUMMIT
#VSSUMMIT
#VSSUMMIT
Docker no Windows
• Não é “Docker for Windows”
• Port do Docker Engine
• Roda sobre a tecnologia nativa de
contêineres do Windows
• Roda contêineres de Windows Server em
hosts Windows
• Rodará em breve contêineres Linux
#VSSUMMIT
Arquitetura
Cliente do Docker Docker Compose Registry do Docker Swarm
Engine do Docker
Interface REST
libcontainerd libnetwork graph plugins
Compute Service
Control Groups
Job Objects
Namespaces
Object Namespace, Tabela de
processo, Rede
Capacidades de camadas
Registry, extensões semelhantes ao Union
FileSystem
Outras funcionalidades
do sistema operacional
#VSSUMMIT
Contêineres
Kernel do Windows
Outros
Event Manager
Local Security
Authority
Gestor da
dessão
Compute
Services
Engine do
Docker
Processos de
sistema
Processos da
aplicação
Job objects
Interface
de rede
Armaz.
Registry
Host User Mode
Processos de
sistema
Gestão de
contêineres Contêiner do
Windows Server
Processos de
sistema
Processos da
aplicação
Job objects
Interface
de rede
Armaz.
Registry
Contêiner do
Windows Server
#VSSUMMIT
Demo:
Visual Studio 2017
CLI
#VSSUMMIT
Giovanni Bassi
Obrigado!
Lambda3, MVP
@giovannibassi

Um mergulho nos containers windows

  • 1.
    #VSSUMMIT Giovanni Bassi Um mergulhonos containers Windows Lambda3, MVP @giovannibassi
  • 2.
  • 3.
    #VSSUMMIT VMs vs Contêineres Servidor SOhospedeiro Hypervisor SO virtual Bin/Libs X App A SO virtual Bin/Libs Y App B Servidor SO hospedeiro Motor Docker Bin/Libs X App A Bin/Libs Y App B VMs Contêineres
  • 4.
    #VSSUMMIT .NET Core FROM microsoft/nanoserver:10.0.14393.1198 SHELL["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] # Install .NET Core ENV DOTNET_VERSION 1.0.5 ENV DOTNET_DOWNLOAD_URL https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/$DOTNET_VERSION/dotnet-win- x64.$DOTNET_VERSION.zip RUN Invoke-WebRequest $Env:DOTNET_DOWNLOAD_URL -OutFile dotnet.zip; Expand-Archive dotnet.zip -DestinationPath $Env:ProgramFilesdotnet; Remove-Item -Force dotnet.zip RUN setx /M PATH $($Env:PATH + ';' + $Env:ProgramFiles + 'dotnet') https://github.com/dotnet/dotnet-docker/blob/master/1.0/runtime/nanoserver/Dockerfile
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
    #VSSUMMIT Docker no Windows •Não é “Docker for Windows” • Port do Docker Engine • Roda sobre a tecnologia nativa de contêineres do Windows • Roda contêineres de Windows Server em hosts Windows • Rodará em breve contêineres Linux
  • 10.
    #VSSUMMIT Arquitetura Cliente do DockerDocker Compose Registry do Docker Swarm Engine do Docker Interface REST libcontainerd libnetwork graph plugins Compute Service Control Groups Job Objects Namespaces Object Namespace, Tabela de processo, Rede Capacidades de camadas Registry, extensões semelhantes ao Union FileSystem Outras funcionalidades do sistema operacional
  • 11.
    #VSSUMMIT Contêineres Kernel do Windows Outros EventManager Local Security Authority Gestor da dessão Compute Services Engine do Docker Processos de sistema Processos da aplicação Job objects Interface de rede Armaz. Registry Host User Mode Processos de sistema Gestão de contêineres Contêiner do Windows Server Processos de sistema Processos da aplicação Job objects Interface de rede Armaz. Registry Contêiner do Windows Server
  • 12.
  • 13.