asp.net – 我可以在docker容器中运行IIS上托管的dotnet应用程序吗?

我已经开发了一个使用asp dotnet的web应用程序,目前我在IIS上运行它无论如何我可以在docker容器中运行相同的应用程序,

我对Docker比较陌生,我玩过一段时间,我熟悉docker compose,所以我想知道我是否可以(dockerize)我开发的应用程序.

我的Dockerfile现在看起来像:

#Making a dotnet container
FROM microsoft/dotnet:latest

#Make a directory
workdir /app

#copy dll files and other dependencies
copY . /app

#dotnet run should run the app
ENTRYPOINT ["DOTNET","RUN"]

据我所知,这使我的dotnet容器中的目录成为一个目录并复制当前文件夹中的文件,该应用程序将在dotnet上运行

解决方法

你需要改变一下你的Dockerfile,试试这个:

#Making a dotnet container
FROM microsoft/iis

SHELL ["powershell"]

RUN Install-WindowsFeature NET-Framework-45-ASPNET ; \  
    Install-WindowsFeature Web-Asp-Net45

RUN Remove-WebSite -Name 'Default Web Site'  
RUN New-Website -Name 'app' -Port 80 \  
    -PhysicalPath 'c:\app' -ApplicationPool '.NET v4.5'

#copy dll files and other dependencies
copY app app

#dotnet run should run the app
CMD ["ping","-t","localhost"]

测试一下

docker build -t app .  
docker run --name app -d -p 80:80 app
docker inspect --format="{{.NetworkSettings.Networks.nat.IPAddress}}" app

它会给你一个ip,只需在你的浏览器中测试它.

更多信息:Run IIS + ASP.NET on Windows 10 with Docker

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....