Distribuire un contenitore ASP.NET in un host Docker remotoDeploy an ASP.NET container to a remote Docker host

PanoramicaOverview

Docker è un motore contenitore leggero, simile in qualche modo a una macchina virtuale, che è possibile usare per ospitare applicazioni e servizi.Docker is a lightweight container engine, similar in some ways to a virtual machine, which you can use to host applications and services. Questa esercitazione illustra come usare l'estensione Visual Studio Tools per Docker per distribuire un'app ASP.NET Core in un host Docker in Azure con PowerShell.This tutorial walks you through using the Visual Studio Tools for Docker extension to deploy an ASP.NET Core app to a Docker host on Azure using PowerShell.

PrerequisitiPrerequisites

Per completare l'esercitazione è necessario quanto segue:The following is required to complete this tutorial:

1. Creare un'app Web ASP.NET Core1. Create an ASP.NET Core web app

La procedura seguente illustra la creazione di un'app ASP.NET Core di base che verrà usata in questa esercitazione.The following steps guide you through creating a basic ASP.NET Core app that will be used in this tutorial.

  1. Nel menu di Visual Studio selezionare File > Nuovo > Progetto.From the Visual Studio menu, select File > New > Project.
  2. Nella sezione Modelli della finestra di dialogo Nuovo progetto selezionare Visual C# > Web.Under the Templates section of the New Project dialog box, select Visual C# > Web.
  3. Selezionare ASP.NET Core Web Application (.NET Core)(applicazione Web ASP.NET Core (.NET Core).Select ASP.NET Core Web Application (.NET Core).
  4. Assegnare un nome alla nuova applicazione (o accettare quello predefinito), quindi selezionare OK.Give your new application a name (or take the default) and select OK.
  5. In ASP.NET Core 1.1 Templates (Modelli ASP.NET Core 1.1) selezionare Applicazione Web e quindi OK.Under ASP.NET Core 1.1 Templates, select Web Application and select OK.

2. Aggiungere il supporto di Docker2. Add Docker support

  1. In Esplora soluzioni di Visual Studio fare clic con il pulsante destro del mouse sul progetto e scegliere Aggiungi > Supporto Docker dal menu di scelta rapida.In the Visual Studio Solution Explorer, right-click the project and select Add > Docker Support from the context menu.

    Aggiungere il menu di scelta rapida Supporto Docker

  2. L'aggiunta del supporto Docker a un progetto Web ASP.NET Core comporta l'aggiunta al progetto di vari file relativi a Docker, inclusi file di Docker-Compose, script di distribuzione Windows PowerShell e file delle proprietà Docker.Adding Docker support to an ASP.NET Core web project results in the addition of several Docker-related files being added to the project, including Docker-Compose files, deployment Windows PowerShell scripts, and Docker property files.

    File Docker aggiunti al progetto

3. Usare lo script di PowerShell DockerTask.ps13. Use the DockerTask.ps1 PowerShell Script

  1. Aprire un prompt dei comandi di PowerShell nella directory radice del progetto.Open a PowerShell prompt to the root directory of your project.

    PS C:\Src\WebApplication1>
    
  2. La convalida dell'host remoto è in esecuzione.Validate the remote host is running. Dovrebbe essere visualizzato lo stato = RunningYou should see state = Running

    docker-machine ls
    NAME         ACTIVE   DRIVER   STATE     URL                        SWARM   DOCKER    ERRORS
    MyDockerHost -        azure    Running   tcp://xxx.xxx.xxx.xxx:2376         v1.10.3
    
  3. Compilare l'app con il parametro -BuildBuild the app using the -Build parameter

    PS C:\Src\WebApplication1> .\Docker\DockerTask.ps1 -Build -Environment Release -Machine mydockerhost
    
    PS C:\Src\WebApplication1> .\Docker\DockerTask.ps1 -Build -Environment Release 
    
  4. Eseguire l'app usando il parametro -RunRun the app, using the -Run parameter

    PS C:\Src\WebApplication1> .\Docker\DockerTask.ps1 -Run -Environment Release -Machine mydockerhost
    
    PS C:\Src\WebApplication1> .\Docker\DockerTask.ps1 -Run -Environment Release 
    

    Una volta completata l'esecuzione di Docker, i risultati visualizzati dovrebbero essere simili ai seguenti:Once docker completes, you should see results similar to the following:

    Visualizzare l'app