我启动了启用了Docker支持的全新ASP.Net Core MVC应用程序。它可以在Visual Studio中运行,但是无法在命令行上运行。显然,我想这样做,以便可以将其推送到存储库并从云中某处的Linux服务器运行。
如果我运行c:\>docker images
,我会看到webapplication10:dev图像
如果我运行c:\>docker ps
,我会看到运行webapplication10:dev的容器。
我的问题是这个。如何在另一个端口上运行此图像的容器。该文档似乎认为下面的声明应该起作用,但事实并非如此。如果我杀死该容器并尝试运行该容器,则不会创建任何容器。
docker run -d -p 8080:80 webapplication10:dev
To my understanding once I run this, I should be able to browse to localhost:8080 but nope, this does not work. Any ideas?
这是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标签。
关于asp.net-mvc - 运行ASP.Net Core Docker镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51619993/