应用程序未作为Docker容器加载

时间:2019-03-06 09:26:58

标签: docker dockerfile asp.net-core-2.1 docker-machine

我正在尝试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

谢谢!

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

以下是使用端口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