![](/img/trans.png)
[英]Can I run existing ASP.NET MVC application in Docker without converting to ASP.NET Core in Linux
[英]Run ASP.Net Core Docker Image
我啟動了啟用了Docker支持的全新ASP.Net Core MVC應用程序。 它在Visual Studio中運行,但無法在命令行上運行。 顯然,我想這樣做,以便可以將其推送到存儲庫並從雲中某處的Linux服務器運行。
如果我運行c:\\>docker images
docker c:\\>docker images
我確實看到了webapplication10:dev圖片
如果我運行c:\\>docker ps
docker c:\\>docker ps
我確實會看到運行webapplication10:dev的容器。
我的問題是這個。 如何在另一個端口上運行此圖像的容器。 文檔似乎認為以下聲明應該可行,但事實並非如此。 如果我殺死該容器並嘗試運行該容器,則不會創建任何容器。
docker run -d -p 8080:80 webapplication10:dev
據我了解,一旦我運行了它,我應該能夠瀏覽到localhost:8080,但是不,這是行不通的。 有任何想法嗎?
這是docker-compose(這里沒有驚喜,只有庫存標准)
version: '3.4'
services:
webapplication10:
image: ${DOCKER_REGISTRY}webapplication10
build:
context: .
dockerfile: WebApplication10/Dockerfile
這是Dockerfile
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80
FROM microsoft/dotnet:2.1-sdk AS build
WORKDIR /src
COPY WebApplication10/WebApplication10.csproj WebApplication10/
RUN dotnet restore WebApplication10/WebApplication10.csproj
COPY . .
WORKDIR /src/WebApplication10
RUN dotnet build WebApplication10.csproj -c Release -o /app
FROM build AS publish
RUN dotnet publish WebApplication10.csproj -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "WebApplication10.dll"]
控制台窗口顯示docker ps仍然不顯示任何內容。
我學到的解決方案很簡單。
您需要在Dockerfile中暴露8080,將其設置為Release以構建:latest標簽。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.