目前 Dockerfile 中采用的是一个文件 COPY 命令
COPY ["src/Cnblogs.WebWithApi.Domain/Cnblogs.WebWithApi.Domain.csproj", "src/Cnblogs.WebWithApi.Domain/"]
COPY ["src/Cnblogs.WebWithApi.Infrastructure/Cnblogs.WebWithApi.Infrastructure.csproj", "src/Cnblogs.WebWithApi.Infrastructure/"]
COPY ["src/Cnblogs.WebWithApi.Application/Cnblogs.WebWithApi.Application.csproj", "src/Cnblogs.WebWithApi.Application/"]
COPY ["src/Cnblogs.WebWithApi.Api/Cnblogs.WebWithApi.Api.csproj", "src/Cnblogs.WebWithApi.Api/"]
有没有什么方法通过一个 COPY 命令复制所有的 .csproj 文件?
通过下面的指令解决了
COPY ["src/**/*.csproj", "src/"]
RUN find -name "*.csproj" -execdir sh -c 'name=$(basename $1 .csproj) && mkdir $name && mv $name.csproj $name/$name.csproj' sh {} ';'
Cnblogs.WebWithApi.Api.csproj
移至 Cnblogs.WebWithApi.Api/Cnblogs.WebWithApi.Api.csproj
参考:
假设您的所有.csproj文件都在src目录下,您可以使用以下命令将该目录下的所有.csproj文件复制到容器中:
COPY src/*.csproj /app/
这个命令会将src目录下的所有.csproj文件复制到容器的/app目录下。
不仅需要复制 .csproj 文件,还需要复制到对应的子目录中,比如 Cnblogs.WebWithApi.Domain.csproj
复制到 Cnblogs.WebWithApi.Domain/
子目录中
stackoverflow 上的相关问题:Docker COPY files using glob pattern?
– dudu 1年前