运行netcore react应用程序时出现docker compose错误

运行netcore react应用程序时出现docker compose错误,docker,asp.net-core,docker-compose,Docker,Asp.net Core,Docker Compose,当我在不使用docker compose的情况下构建应用程序时: docker build -t aspnetapp . docker run -d -p 8080:80 --name myapp aspnetapp docker容器运行正常。但是当我尝试运行它时,使用docker compose up,图像构建成功,但网站在加载时给了我错误 dockerfile: FROM microsoft/dotnet:sdk AS build-env WORKDIR /app RUN curl -s

当我在不使用docker compose的情况下构建应用程序时:

docker build -t aspnetapp .
docker run -d -p 8080:80 --name myapp aspnetapp
docker容器运行正常。但是当我尝试运行它时,使用
docker compose up
,图像构建成功,但网站在加载时给了我错误

dockerfile:

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

RUN curl -sL https://deb.nodesource.com/setup_10.x |  bash -
RUN apt-get install -y nodejs

# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore

# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out

# Build runtime image
FROM microsoft/dotnet:aspnetcore-runtime
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "app.dll"]
docker compose:

version: '3.4'

  services:
    app:
      image: aspnetapp     
      build: ./app
      ports:
        - "8080:80"

您的Dockerfile是否在
/
/app
中?如果它位于
/
中,请将docker-compose.yml更改为
build:。/

编辑


我刚刚意识到,您正在docker-compose.yml中指定
image
build
;摆脱
图像

你的Dockerfile在
/
/app
中吗?如果它位于
/
中,请将docker-compose.yml更改为
build:。/

编辑

我刚刚意识到,您正在docker-compose.yml中指定
image
build
;去除
图像

删除

environment: - ASPNETCORE_ENVIRONMENT=Development 
从compose.override文件修复了所有这些问题。我不知道为什么会出问题。

删除

environment: - ASPNETCORE_ENVIRONMENT=Development 

从compose.override文件修复了所有这些问题。我不确定问题出在哪里。

如果是一个dotnet应用程序,你的应用程序在哪里尝试使用npm?这是一个dotnet react appOkay,那么这些react资源应该从“build env”中生成和复制"... 我不确定compose是否真的是这里的问题,因为如果您首先在compose之外构建了容器,那么整个图像都应该被缓存,并且在行为上看不到任何差异,但是为什么在我使用docker compose时它不起作用?通过docker build,一切正常。我已经在dockerfile中指定它需要nodejs你只是说构建环境有nodejs,而不是运行时显然需要npm来做一些事情如果它是一个dotnet应用程序,你的应用程序在哪里尝试使用npm?它是一个dotnet react appOkay,那么这些react资源应该从“构建环境”中构建和复制"... 我不确定compose是否真的是这里的问题,因为如果您首先在compose之外构建了容器,那么整个图像都应该被缓存,并且在行为上看不到任何差异,但是为什么在我使用docker compose时它不起作用?通过docker build,一切正常。我已经在dockerfile中指定它需要nodejs,您只是说构建环境有nodejs,而不是运行时,它显然需要npm来做一些事情。/app。我说码头工人很好。只是当我运行它时,我才发现错误。/app。我说码头工人很好。就在我运行它的时候,我发现了错误。你在问题中发布的代码中有这个吗?你在问题中发布的代码中有这个吗?