【发布时间】:2021-09-10 17:14:46
【问题描述】:
Visual Studio 2019 会生成一个 docker 文件,由于应用程序文件夹的结构方式,其 COPY 语句如下所示:
FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build
WORKDIR /src
COPY ["MyWebApp/MyWebApp.csproj", "MyWebApp/"]
COPY ["../../core/Logic/Logic.csproj", "../../core/Logic/"]
COPY ["../../core/Models/Models.csproj", "../../core/Models/"]
RUN dotnet restore "MyWebApp/MyWebApp.csproj"
COPY . .
WORKDIR "/src/MyWebApp"
RUN dotnet build "MyWebApp.csproj" -c Release -o /app/build
我在运行 docker compose 命令时不断收到以下错误消息:
=> 错误 [build 4/9] 复制 [../../core/Logic/Logic.csproj, ../../core/Logic/] 0.0s
=> 错误 [build 5/9] 复制 [../../core/Models/Models.csproj, ../../core/Models/]
由于某些原因,我们无法重组 VS 2019 中的文件夹,因为它已以这种方式设置。 docker 文件位于MyWebApp 项目的文件夹中,docker compose 文件位于解决方案所在的MyWebApp 文件夹的父文件夹中。即使我将 docker 文件移到了 docker compose 文件附近,但还没有定论。
以下代码sn -p是docker-compose文件:
version: '3.4'
services:
mywebapp:
image: ${DOCKER_REGISTRY-}mywebapp
build:
context: .
dockerfile: MyWebApp/Dockerfile
ports:
- 8080:80
- 8443:443
解决此问题的解决方法或解决方案是什么?
【问题讨论】:
-
分享你的 docker compose 文件
-
@galdin 我通过反映 docker compose 文件更新了问题。
-
也分享完整的错误信息...还不如分享文件结构... docker-compose 文件看起来不错.. 如果它无法访问文件,你的答案就在在
build.context中:只有上下文目录中和上下文目录下的文件可以在构建步骤中使用。
标签: visual-studio docker asp.net-core docker-compose