我已经使用asp dotnet开发了一个Web应用程序,目前我已经在IIS上运行它了,无论如何我都可以在docker容器中运行相同的应用程序,
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对Docker来说还比较陌生,我玩了一段时间,并且对docker compose很熟悉,所以我想知道是否可以(dockerize)我开发的应用程序。
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.
我的Dockerfile现在看起来像:
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"]据我了解,这将在dotnet容器中建立一个目录,并将文件复制到当前文件夹中,该应用程序将在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
推荐答案您需要更改一些Dockerfile,请尝试以下操作:
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"]测试
docker build -t app . docker run --name app -d -p 80:80 app docker inspect --format="{{.NetworkSettings.Networks.nat.IPAddress}}" app它将为您提供一个ip,只需在浏览器中对其进行测试即可。
It will give you an ip just test it in your browser.
详细信息:在IIS + ASP.NET上运行Windows 10和Docker
更多推荐
我可以在Docker容器中运行IIS上托管的dotnet应用程序吗?
发布评论