Can I Run a dotnet app which is hosted on IIS in a docker container?

北战南征 提交于 2020-01-02 05:59:15

问题


I have developed a web application using asp dotnet and currently I have it running on IIS is there anyway I can run the same app in a docker container,

I am relatively new to Docker and I have played around a bit and I am familiar with docker compose , so I was wondering if I can (dockerize) the application that I have developed.

My Dockerfile now looks like:

#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"]

From what I understand this makes a directory inside my dotnet container and copies the files in the current folder and the app will run on dotnet run


回答1:


You need to change a little your Dockerfile, try this:

#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"]  

Test it

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

It will give you an ip just test it in your browser.

More information: Run IIS + ASP.NET on Windows 10 with Docker



来源:https://stackoverflow.com/questions/39395145/can-i-run-a-dotnet-app-which-is-hosted-on-iis-in-a-docker-container

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!