应用程序未加载为Docker容器

问题描述 投票:1回答:2

我正在尝试Dockering ASP.Net Core 2.1 MVC申请。

我创建了一个没有构建错误的Vanilla MVC模板项目。

这就是我的DockerFile的样子

FROM microsoft/dotnet:sdk AS build-env
WORKDIR /app

COPY *.csproj .
RUN dotnet restore

EXPOSE 80 #As suggested in the comment

COPY . ./docker-aspnet-app
RUN dotnet publish -c Release -o out

创建Docker镜像

F:\Some\dev\www\docker\sample-app\sample-app>docker build -t aspnetapp .

创建容器

docker run -d -p 8084:80 --name aspnetwebapp aspnetapp

enter image description here

但是当我浏览localhost:8084时,网站没有加载

enter image description here

我该如何解决这个问题?

请注意我在我的windows10机器上以Linux模式运行Docker

谢谢!

docker dockerfile asp.net-core-2.1 docker-machine
2个回答
0
投票

请注意,您的Dockerfile应该EXPOSE端口80,尝试将EXPOSE 80添加到您的Dockerfile。


0
投票

Here is an example with using port 3000:

尝试使用“docker-compose up”,而不是“docker run ...”。您需要在Docker文件中放置“EXPOSE 3000”。您将需要一个docker-compose.yml文件,其中包含以下示例的内容:

version: '2.1'

services:
  webapp:
    image: webapp
    build: .
    environment:
       NODE_ENV: production
    ports:
      - 3000:3000
© www.soinside.com 2019 - 2024. All rights reserved.