如何在Docker中运行ASP.NETCore2.1项目-创新互联

如何在Docker中运行ASP.NET Core 2.1 项目?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

旌德网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联公司于2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司

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-runtime
WORKDIR /app
COPY . .
EXPOSE 80
ENTRYPOINT ["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 off

echo "Windows Docker build"

cd ../AspNetCore.Docker

dotnet publish -c Release -o ../publish

cd ../publish

echo "publish success"

docker build -t aspnetcoredocker .

文件名:Linux:

build.sh

#!/bin/bash

echo Linux Docker build

cd ../AspNetCore.Docker

dotnet publish -c Release -o ../publish

cd ../publish

echo 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 项目问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


网站标题:如何在Docker中运行ASP.NETCore2.1项目-创新互联
标题网址:http://ybzwz.com/article/desids.html