Docker可以让开发者打包她们的应用以及依赖包到一个轻量级、可移植的容器中,之后发布到任何流行的Windows、Linux机器上,也可以实现虚拟化。基于这一点我昨天主要把自己在.NetCore2.1和.NetCore2.0中从开发一个简单Demo到发布并到Docker中运行过程在这儿简单说明一下:
一、新建一个ASP.NETCore2.1项目
之后编译运行一下刚创建的项目,确保刚才构建的项目可以正常运行。
二.自动添加Docker支持编撰Dockerfile
这个项目我们更改对应的Dockerfile内容如下:(非常说明假如是.NetCore2.0这下边的FROM为:microsoft/aspnetcore:2.0)
<pre class=”has”>FROM microsoft/dotnet:2.1-aspnetcore-runtime
WORKDIR /app
COPY . .
EXPOSE 80
ENTRYPOINT ["dotnet", "WebAppNetCoreDocker.dll"]
须要设置Dockerfile的如下属性,保证其能复制到发布目录:在项目中选中Dockerfile右键属性做如下更改
三.建立Docker镜像
1.编译打包发布当前项目
2.步入项目发布的目录:Shift+在此处打开PowerShell窗口
3.我们这儿定义镜像名称为:firstcoredemodocker(注意之前全大写)执行下边下边打包镜像:(前面的点不能少)
docker build -t firstcoredemodocker .
出现下边结果表示镜像生成成功
4.运行3中生成的镜像到docker中.net程序使用docker,通过下边命令:
docker run --name=镜像名字 -p 7777:80 -d 镜像名字
docker run --name=firstcoredemodocker -p 9999:80 -d firstcoredemodocker
5.运行结果出现一串sha256编码则表示该项目在docker中早已启动运行
6.宿主机浏览器上访问验证访问:
至此.net程序使用docker,我们通过Docker运行core2.1应用程序就完整成功结束了linux中文乱码,其中.netCore2.0或是对应的.netcoreAPI仅是在生成镜像时侯From依据不同版本官方会有不同的标识这儿注意一点就可以了。
总结:通过以上简单的示列完成对于Docker镜像的生成早已本地windows操作系统上的运行linux命令行和shell脚本编程宝典,因为Docker本身天然属性所以他可以被布署更新到任意Linux操作系统中,这个须要各自依照自己业务场景来确定。