在Docker中运行asp.net core 跨平台应用程序
概述
Docker已经热了有一两年了,而且我相信这不是一个昙花一现的技术,而是一个将深远影响我们日后开发和部署、运营应用系统的一种创新(很多人将其作为devops的一种非常重要的基石)。学习docker的最好方式,莫过于它的官方文档 ,有兴趣 的同学请参考 https://www.docker.com/what-docker
笔者最近在写一个Office 365的集成和扩展应用开发的系列文章(https://aks.ms/office365devguide) ,其中的范例也将基于docker来部署。
准备
为了进行后续的实验,请准备如下的环境
[*]基本条件
[*]Windows 10 Enterprise, Professional, or Education
[*]64-bit Processor with Second Level Address Translation (SLAT).
[*]CPU support for VM Monitor Mode Extension (VT-c on Intel CPU's).
[*]Minimum of 4 GB memory.
[*]Docker for Windows请参考 https://docs.docker.com/docker-for-windows/ 和https://docs.docker.com/docker-for-windows/install/
[*]Microsoft .NET Core SDK ,请参考 https://www.microsoft.com/net/core#windowscmd (我安装的是最新的2.0 preview2)
动手实验
[*]打开Powershell
[*]创建dotnet core mvc应用程序dotnet new mvc –o mvcapp
[*]切换到该目录cd mvcapp
[*]还原包(如果是dotnet core 2.0,则可以跳过这个步骤)dotnet restore
[*]发布应用程序dotnet publish –c release
[*]在当前目录下面创建一个DOCKERFILE,内容如下
FROM microsoft/dotnet:2.0.0-preview2-sdk
WORKDIR /app
COPY bin/release/netcoreapp2.0/publish . ENTRYPOINT ["dotnet", "mvcapp.dll"]
[*]生成docker镜像docker build –t mvcapp .
[*]运行docker镜像docker run –p 8000:80 –e “ASPNETCORE_URLS=http://+:80” mvcapp
以上命令如果不熟悉,请大家自行查看帮助。例如 dotnet new mvc –h 或者 docker build -h
如此这般之后,你就可以打开本机的浏览器,输入http://localhost:8000 进行访问了
页:
[1]