Download - Um mergulho nos containers windows
#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:ProgramFiles\dotnet; \
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
ArquiteturaCliente do Docker Docker Compose Registry do Docker Swarm
Engine do Docker
Interface REST
libcontainerd libnetwork graph plugins
Compute Service
Control GroupsJob Objects
NamespacesObject Namespace, Tabela de
processo, Rede
Capacidades de camadasRegistry, 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 objectsInterface
de rede
Armaz.
Registry
Host User Mode
Processos desistema
Gestão decontêineres Contêiner do
Windows Server
Processos de
sistema
Processos da
aplicação
Job objectsInterface
de rede
Armaz.
Registry
Contêiner do
Windows Server
#VSSUMMIT
Demo:
Visual Studio 2017
CLI
#VSSUMMIT
Giovanni Bassi
Obrigado!
Lambda3, MVP
@giovannibassi