Docker容器运行ASP.NET Core的实现步骤

2025-05-27 0 88

最近要学习的知识太多,都不知道先学哪些了,原本计划这篇博客是写xamarin.forms中的listview用法,关于listview的用法简书上有一篇介绍的也比较详细,所以暂时先缓一缓,属于次要任务,等以后再写。本周在万能的淘宝找了写关于区块链的教程,同时了解了下.net core。最近一两年对c#技术跟进不多,侧重点是java,之前出.net core1.0的时候觉得.net core还不完善,所以就没学,没想到.net core这么快已经要到3.0了。毕竟自己是c#出身,一精多转,不能忘本,所以计划在未来一段时间把.net core也了解一下,大致看了一下,与.net的部分也是有很多交集,可能最大的特点就是跨平台部分。本篇先介绍下使用docker运行asp.net core应用。

一、新建asp.net core应用

这里新建了一个mywebapp的asp.net core的应用。

Docker容器运行ASP.NET Core的实现步骤

二、添加docker支持

添加docker支持有两种方式,一是在新建项目时设置启用docker支持,二是在已创建的项目上右键->添加->docker支持。

Docker容器运行ASP.NET Core的实现步骤

Docker容器运行ASP.NET Core的实现步骤

同时需要选择是window平台还是linux平台,如果是window系统就需要设置window平台,同时docker也需要设置为windowcontainers。如下图报image operating system "windows" cannot be used on this platform错误,就是由于选择的平台不对。

Docker容器运行ASP.NET Core的实现步骤

Docker容器运行ASP.NET Core的实现步骤

Docker容器运行ASP.NET Core的实现步骤

三、创建docker镜像

添加docker支持后会自动生成dockerfile文件,这里有一个坑,在copy ["mywebapp/mywebapp.csproj", "mywebapp/"]行中需要注意是mywebapp/mywebapp.csproj,是mywebapp目录下的mywebapp.csproj工程文件,所以需要把创建好的dockerfile拷贝到工程文件目录下。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22
#depending on the operating system of the host machines(s) that will build or run the containers, the image specified in the from statement may need to be changed.

#for more information, please see https://aka.ms/containercompat

from microsoft/dotnet:2.2-aspnetcore-runtime-nanoserver-sac2016 as base

workdir /app

expose 80

from microsoft/dotnet:2.2-sdk-nanoserver-sac2016 as build

workdir /src

copy ["mywebapp/mywebapp.csproj", "mywebapp/"]

run dotnet restore "mywebapp/mywebapp.csproj"

copy . .

workdir "/src/mywebapp"

run dotnet build "mywebapp.csproj" -c release -o /app

from build as publish

run dotnet publish "mywebapp.csproj" -c release -o /app

from base as final

workdir /app

copy --from=publish /app .

entrypoint ["dotnet", "mywebapp.dll"]

Docker容器运行ASP.NET Core的实现步骤

在项目目录下使用docker命令build生成docker镜像,docker build -t aspnetdemo .,(aspnetdemo后面有个.,表示dockerfile路径)。这里build了一个aspnetdemo的镜像,由于首次运行dockerfile,一些.net core基础镜像需要下载,而且家里网速也比较慢,下载的过程等了好久。

Docker容器运行ASP.NET Core的实现步骤

Docker容器运行ASP.NET Core的实现步骤

四、启动容器

在第三步镜像已经创建完成,使用dockerimages可以看到已创建好的镜像,然后就是使用dockerrun启动容器运行.net core应用。

Docker容器运行ASP.NET Core的实现步骤

在浏览器中山输入 http://localhost:8080/ ,可以看到如下页面。

Docker容器运行ASP.NET Core的实现步骤

微软官方文档写使用 windows 容器时,必须直接在浏览器中转到容器 ip 地址,这里使用了-p映射了端口,所以直接输入 http://localhost:8080/ 是可以访问的。

Docker容器运行ASP.NET Core的实现步骤

下面使用ipconfig查找容器映射的docker的ip,然后在浏览器输入docker的ip也是可以访问。

Docker容器运行ASP.NET Core的实现步骤

Docker容器运行ASP.NET Core的实现步骤

五、小结

本篇只是简单介绍了docker部署asp.net core应用,.后续net core可能会连数据库、redis等容器,那样就涉及到容器互联,容器编排技术以及devops持续集成,往后扩展又可以扩展好多,这些以后慢慢学。

原文链接:http://www.cnblogs.com/5ishare/p/10634261.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 行业资讯 Docker容器运行ASP.NET Core的实现步骤 https://www.kuaiidc.com/67528.html

相关文章

发表评论
暂无评论