This blog shows how to setup a basic ASP.NET Core 1.1 application using Visual studio 2017 and Docker.
Code: https://github.com/damienbod/AspNetCoreVS2017Docker
2017.02.03 Updated to VS2017 RC3 msbuild3
This article from Swaminathan Vetri demonstates how to setup everything for an ASP.NET Core 1.0 application.
Now the application needs to be updated to ASP.NET Core 1.1. Open the csproj file and update the PackageReference and also the TargetFramework to the 1.1 packages and target. At present, there is no help when updating the packages, like the project.json file had, so you need to know exactly what packages to use when updating directly.
<Project ToolsVersion="15.0" Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp1.1</TargetFramework> <PreserveCompilationContext>true</PreserveCompilationContext> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.0" /> <PackageReference Include="Microsoft.AspNetCore.Routing" Version="1.1.0" /> <PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="1.1.0" /> <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="1.1.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="1.1.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="1.1.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="1.1.0" /> <PackageReference Include="Microsoft.Extensions.Logging" Version="1.1.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="1.1.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.0" /> <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="1.1.0" /> </ItemGroup> </Project>
Then update the docker-compose.ci.build.yml file. You need to select the required image which can be found on Docker Hub. The microsoft/aspnetcore-build:1.1.0-msbuild image is used here.
version: '2' services: ci-build: image: microsoft/aspnetcore-build:1.1.0-msbuild volumes: - .:/src working_dir: /src command: /bin/bash -c "dotnet restore && dotnet publish -c Release -o ./bin/Release/PublishOutput"
Now update the DockerFile to target the 1.1.0 version.
FROM microsoft/aspnetcore:1.1.0 ARG source WORKDIR /app EXPOSE 80 COPY ${source:-bin/Release/PublishOutput} . ENTRYPOINT ["dotnet", "AspNetCoreVS2017Docker.dll"]
Start the application using Docker. You can debug the application which is running inside Docker, all in Visual Studio 2017. Very neat.
Notes:
When setting up Docker, you need to share the C drive in Docker.
Links:
Debugging Asp.Net core apps running in Docker Containers using VS 2017
https://www.sesispla.net/blog/language/en/2016/05/running-asp-net-core-1-0-rc2-in-docker/
https://hub.docker.com/r/microsoft/aspnetcore-build/tags/
https://blogs.msdn.microsoft.com/webdev/2016/11/16/new-docker-tools-for-visual-studio/
https://blogs.msdn.microsoft.com/stevelasker/2016/06/14/configuring-docker-for-windows-volumes/
[…] Creating an ASP.NET Core 1.1 VS2017 Docker application […]
[…] La création d’une application ASP.NET Core 1.1 utilisant Docker et Visual Studio 2017. […]
[…] Source: Creating an ASP.NET Core 1.1 VS2017 Docker application | Software Engineering […]