繁体   English   中英

运行ASP.Net Core Docker映像

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM