Не публикуется C# проект в Docker Container Registry
Имеется солюшен со структурой:
/dir
/project1
- Dockerfile
- docker-compose.yml
- project1.csproj
/project2
- Dockerfile
- docker-compose.yml
- project2.csproj
/project_library
- project_library.csproj
project_library - является общей библиотекой для project1/project2/etc при сборке и запуске из visual studio всё работает отлично, но при попытке опубликовать образ в свой репозитарий получаю ошибку:
#12 ERROR: "/project_library/project_library.csproj" not found: not found
и Dockerfile и docker-compose.yml сгенерированы visual studio.
Dockerfile выглядит следующим образом:
FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
COPY ["project1.csproj", "."]
COPY ["../project_library/project_library.csproj", "../project_library/"]
RUN dotnet restore "./project1.csproj"
COPY . .
WORKDIR "/src/."
RUN dotnet build "project1.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "project1.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "project1.dll"]
docker-compose.yml
version: '3.4'
services:
project1:
image: ${DOCKER_REGISTRY-}project1
build:
context: .
dockerfile: Dockerfile
возможности использовать nuget репу нет. Копировать код из project_library в каждый проект - не по канонам. Как быть?