Docker Compose 使用 .NET 6 和 React 项目构建失败:意外的语句结束错误

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

我正在开发一个使用 .NET 6 与 React 集成的项目,并尝试使用 Docker 将其容器化。运行 docker-compose build 时,遇到以下错误:

无法解决:无法处理“.”]“:在查找匹配的双引号时语句意外结束

https://ibb.co/5K3R7cB

# Backend
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["LIA_TEST/LIA_TEST.csproj", "LIA_TEST/"]
RUN dotnet restore "LIA_TEST/LIA_TEST.csproj"
COPY . .
WORKDIR "/src/LIA_TEST"
RUN dotnet build "LIA_TEST.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "LIA_TEST.csproj" -c Release -o /app/publish /p:UseAppHost=false

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "LIA_TEST.dll"]

# Frontend
FROM node:alpine as web-build
WORKDIR /app
COPY LIA_TEST/ClientApp/package*.json ./
RUN npm install
COPY LIA_TEST/ClientApp/. .
RUN npm run build

FROM nginx:alpine as web
COPY --from=web-build /app/build /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

docker-compose.yml

version: '3.4'

services:
  api:
    build:
      context: .[enter image description here](https://i.stack.imgur.com/ikHNO.png)
      dockerfile: Dockerfile
    ports:
      - "7175:80"

  web:
    build:
      context: ./ClientApp
      dockerfile: Dockerfile
    ports:
      - "44482:80"
    depends_on:
      - api
docker-compose dockerfile
1个回答
0
投票

您应该将

ENTRYPOINT ["dotnet", "LIA_TEST.dll"]
更改为
ENTRYPOINT [ "dotnet", "LIA_TEST.dll" ]
,将
CMD ["nginx", "-g", "daemon off;"]
更改为
CMD [ "nginx", "-g", "daemon off;" ]

© www.soinside.com 2019 - 2024. All rights reserved.