温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Docker中怎么运行ASP.NET Core 2.1

发布时间:2021-07-15 14:25:54 来源:亿速云 阅读:137 作者:Leah 栏目:大数据

今天就跟大家聊聊有关Docker中怎么运行ASP.NET Core 2.1,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

1.新建一个 ASP.NET Core 2.1 项目

Docker中怎么运行ASP.NET Core 2.1

然后运行一下项目,确保我们刚刚建立的项目可以正常运行。

Docker中怎么运行ASP.NET Core 2.1

2.编写 Dockerfile

新建一个文本文件,命名为 Dockerfile

FROM microsoft/dotnet:2.1-aspnetcore-runtimeWORKDIR /appCOPY . .EXPOSE 80ENTRYPOINT ["dotnet", "AspNetCore.Docker.dll"]

这里我们需要用到官方的镜像:microsoft/dotnet:2.1-aspnetcore-runtime

如果要尝试更小的镜像,可以试试 microsoft/dotnet:2.1-aspnetcore-runtime-alpine ,这镜像使用了alpine 一款精简版极小的linux,但是随之而来的就是阉割了一些功能,实际使用的时候需要测试,比如国际化支持,它默认在这个镜像里面没有开启,需要配置环境变量来开启。

需要设置Dockerfile的如下属性,保证其能复制到发布目录:

Docker中怎么运行ASP.NET Core 2.1

3.构建Docker镜像

我们将镜像命名为 :aspnetcoredocker

进入到发布文件目录,执行命令便可打包镜像:

docker build -t aspnetcoredocker .

我们可以编写 发布+构建 的脚本。

Windows:

文件名:build.bat

@echo offecho "Windows Docker build"cd ../AspNetCore.Docker

dotnet publish -c Release -o ../publishcd ../publishecho "publish success"docker build -t aspnetcoredocker .

文件名:Linux:

build.sh

#!/bin/bashecho Linux Docker buildcd ../AspNetCore.Docker

dotnet publish -c Release -o ../publishcd ../publishecho publish success

docker build -t aspnetcoredocker .

文件夹结构如下图:

Docker中怎么运行ASP.NET Core 2.1

执行构建:

./build.sh

Docker中怎么运行ASP.NET Core 2.1

构建成功后可以通过 docker images 命令查询到我们构建的镜像:

Docker中怎么运行ASP.NET Core 2.1

若在linux下执行sh脚本时,遇到错误“-bash: ./build.sh: /bin/bash^M: bad interpreter: No such file or directory“,请通过vim/vi编辑sh脚本,按:建,输入 set ff=unix,然后回车、wq保存即可

4.运行镜像

通过命令运行

docker run --name=aspnetcoredocker -p 7777:80 -d  aspnetcoredocker

--name:指定容器名称

-p:指定容器端口

-d:指定容器 后台运行

出现一长串字符串,便是表示运行成功:

Docker中怎么运行ASP.NET Core 2.1

我们也可以通过 docker ps 命令,查询我们正在运行的容器:

Docker中怎么运行ASP.NET Core 2.1

我们还可以通过 docker logs <容器名称或者id>来查看启动日志:

Docker中怎么运行ASP.NET Core 2.1

5.验证访问

我们可以通过 curl命令来直接访问我们容器启动的asp.net core 网站:

Docker中怎么运行ASP.NET Core 2.1

或者直接通过浏览器访问:

Docker中怎么运行ASP.NET Core 2.1


看完上述内容,你们对Docker中怎么运行ASP.NET Core 2.1有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI