O que é um contêiner?
Um contêiner é um ambiente isolado onde um aplicativo pode ser executado.
O contêiner, o aplicativo e todas as suas dependências são construídos com partes dos recursos do host, como um sistema operacional kernel, CPU e memória e, depois, logicamente separados de outros contêineres e do próprio host.
O diagrama abaixo ilustra como um contêiner vermelho e amarelo coexistem no mesmo host, usando o mesmo sistema operacional de hardware e kernel, mas ficam contidos em seu espaço individual, o que permite que eles executem seus aplicativos sem interferência externa.
Note como o mesmo hardware e o sistema operacional instalados nesse hardware podem executar seus próprios aplicativos e serviços, independentemente do que acontece em cada contêiner.
Como criar e executar contêineres no Windows Server
Os contêineres podem ser executados em várias plataformas, como sistemas operacionais Linux, Windows e Mac. No entanto, este artigo/demonstração se concentra na execução de contêineres no Windows Server.
Há várias maneiras de trabalhar com contêineres do Windows, incluindo o Windows Admin Center (WAC) ou o Visual Studio. Neste artigo/demonstração, no entanto, o Docker é usado.
Docker é um produto de plataforma as a service que pode ser usado para combinar um aplicativo, todas as suas dependências e informações de configuração em um único pacote chamado contêiner. O Docker pode ser usado para enviar, executar ou excluir esse contêiner.
As etapas subsequentes foram executadas em uma nova instalação do Windows Server 2022.
Você pode encontrar uma lista de pré-requisitos para executar contêineres no Windows Server no link externo abaixo:
Introdução: Preparar o Windows para contêineres
As etapas para criar e executar contêineres no Windows Server usando o Docker podem ser resumidas da seguinte forma:
1. Instalar o Docker
No PowerShell (executar como administrador), digite:
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
No prompt, digite "
Y" para confirmar a instalação do NuGet.
Na mesma sessão do PowerShell, digite:
Install-Package -Name docker -ProviderName DockerMsftProvider
No prompt, digite "
Y" para confiar no pacote.
Na mesma sessão do PowerShell, digite:
Restart-Computer
2. Criar um arquivo Docker e fazer download de uma imagem de contêiner
Em uma sessão elevada do PowerShell, alterne para o diretório raiz e crie uma nova pasta digitando:
cd\
mkdir Containers
cd Containers
Na mesma sessão do PowerShell, crie o arquivo docker e edite-o digitando:
New-Item dockerfile
(Observe que não há extensão de arquivo)
notepad dockerfile
No editor de texto do bloco de notas, digite as três linhas a seguir e, em seguida, salve e feche o arquivo docker:
FROM mcr.microsoft.com/windows/servercore/iis
RUN powershell
COPY index.html C:/inetpub/wwwroot
Retorne ao PowerShell, ainda no contexto C:\Containers, crie um arquivo n HTML e edite-o digitando o seguinte:
New-Item index.html
notepad index.html
No editor de texto do bloco de notas, digite as três linhas a seguir e, em seguida, salve e feche o arquivo index.html:
<h1>Hello World!</h1>
<p>This is an example of a simple HTML page hosted on:</p>
<h2>container #1</h2>
3. Crie e execute o contêiner.
De volta ao PowerShell, ainda em C:\Containers, digite:
docker build -t webserver.
Aguarde até que a imagem seja baixada do Microsoft Container Registry e digite:
docker images
Agora você deve ver a imagem baixada.
Para finalmente executar um contêiner usando o modelo de imagem baixado, de volta no PowerShell digite:
docker run --name container1 -d -p 80:80 webserver
Essa última linha cria e executa um contêiner chamado container1 com base na imagem do servidor da Web que foi preparada. O switch -d instrui o Windows a executar o contêiner em segundo plano e -p instrui o Windows a encaminhar a porta 80 (HTTP) no host para a porta 80 no contêiner.
Para testar o contêiner:
abra um navegador da Web no host e navegue até localhost (você também pode usar um computador diferente no mesmo segmento de rede e navegar até o endereço IP do host do contêiner ou o nome do computador).
Você deve carregar a página da Web HTML de amostra criada anteriormente:
Isso conclui o tutorial sobre como executar contêineres do Docker no Windows Server 2022.