"Porque há um só Deus,
e um só Mediador entre Deus e os homens, Jesus
Cristo homem."
1 Timóteo 2:5
Neste artigo veremos como criar uma aplicação Web MVC e conteinerizar essa aplicação usando o Docker. |
Se você não sabe o que é Docker acompanhe meu curso rápido sobre o assunto neste link: Macoratti - Curso Docker
Vamos iniciar criando a aplicação ASP .NET Core MVC e a seguir vamos definir um modelo de domínio bem simples onde vamos trabalhar apenas com objetos sem usar um mecanismo de persistência para tornar a aplicação mais simples.
Após criar a aplicação MVC vamos criar um contêiner para executar essa aplicação usando o Docker e para isso vamos criar um Dockerfile que irá criar nossa imagem e finalmente camos criar o contêiner.
Eu vou usar o Docker instalado no ambiente Linux usando uma distribuição Ubuntu 18.04 em uma máquina virtual Linux criada em uma VirtualBox da Oracle no Windows 10.
Acompanhe as aulas do meu minicurso Docker Essencial para a plataforma .NET :
Nota: Você deve instalar as extensões C# e C# Extensions no VS Code para trabalhar com o C#.
recursos usados:
Criando o projeto usando a NET CLI
Vamos criar o projeto usando a ferramenta de linha de comando NET CLI e a seguir vamos editar o código usando o Visual Studio Code.
Antes de iniciar verifique o seu ambiente abrindo a máquina virtual Linux e a seguir abrindo um terminal e digitando os comandos:
dotnet --version
docker --version
A seguir vamos criar o projeto MVC.
Eu vou criar uma pasta chamada webmvc dentro de uma pasta projetos para armazenar o projeto criado.
Digite os comandos no terminal:
mkdir webmvc
cd webmvc
Estando na pasta onde vamos criar o projeto digite o comando:
dotnet new mvc
Estamos criando uma aplicação ASP NET Core MVC chamada webmvc.
Exibindo o conteúdo da pasta via comando lg -g temos:
Observe a estrutura do projeto que contém as pastas : Controllers, Models, Views, wwwroot , o arquivo do projeto webmvc.csproj e o arquivo Startup.cs.
Podemos executar a aplicação digitando : dotnet run e verificar que ela esta funcional.
Criando modelo de domínio Cliente
Vamos criar no nosso modelo de domínio que vai tratar de Clientes. Para isso vamos criar na pasta Models uma classe Cliente usando o VS Code.
Para abrir o projeto no VS Code digite : code .
A seguir crie o arquivo Cliente.cs na pasta Models e inclua o código abaixo na classe Cliente:
Criando o controlador ClienteController
Vamos criar na pasta Controllers o controlador ClienteController para tratar as informações dos clientes. Neste exemplo vamos definir apenas alguns dados em memória e a seguir exibir os dados em uma View.
Crie o arquivo ClienteController.cs na pasta Controllers e inclua o código a seguir:
Criamos uma lista de objetos Cliente na memória e no método Action Index estamos retornando para a View os objetos Cliente de forma a poder exibir as informações na View Index.cshtml que iremos criar a seguir.
Criando a View Index
Para seguir as convenções usadas pelo framework vamos criar uma pasta Cliente dentro da pasta Views do projeto.
A seguir inclua nesta pasta o arquivo Index.cshtml com o código abaixo:
Esta será a nossa View.
Abra o arquivo _Layout contindo na pasta Views/Shared e inclua um item de menu para acessar a Action Index do nosso controlador ClienteController:
... <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li><a asp-area="" asp-controller="Home" asp-action="Index">Home</a></li> <li><a asp-area="" asp-controller="Cliente" asp-action="Index">Clientes</a></li> </ul> </div> ... |
Agora temos tudo pronto e podemos testar nossa aplicação ASP .NET Core MVC.
No terminal digite os comandos:
dotnet build
Como não temos nenhum erro, vamos continuar digitando...
dotnet run
Pronto ! Nossa aplicação esta atendendo em localhost:5000.
Abrindo um navegador e acessando esta URL e a seguir clicando no link Clientes teremos o seguinte resultado :
Dessa forma temos nossa aplicação ASP .NET Core executada no ambiente Linux.
Na próxima parte do artigo vamos criar uma imagem usando um Dockerfile e a seguir criar um contêiner para executar nossa aplicação no Docker.
"Porque há um só Deus,
e um só Mediador entre Deus e os homens, Jesus
Cristo homem."
1 Timóteo 2:5
Veja os
Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique
e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Visual Studio - Dica de produtividade - Quick Launch - Macoratti.net
Visual Studio - Dica de produtividade - Nuget - Macoratti.net
ASP .NET Core - Acesso ao MySQL c/ EF Core usando o Docker no ...
Docker - Uma introdução básica - Macoratti
Minicurso Docker - Apresentando o Docker - Macoratti
Curso Docker Essencial para .NET Core - Macoratti.net