Вот ленивый и простой файл докера. Я добавил несколько комментариев и несколько полезных опций сборки / отладки, например: «RUN ls -al» для отображения текущего каталога. Так же, как в Linux Linux.
# step 1 - building you app with SDK as base image
FROM microsoft/dotnet:2.2-sdk AS build-env # call the environment build
WORKDIR /build # create a work dir
COPY . . # you don't need copy everything to build your app, but this is for simplisity
RUN ls -al # linux command to list dir content
RUN cd /Customer && dotnet publish -o out # actually building the app and publishing to /out dir
RUN cd /Customer && ls -al # navigate to the folder you copied and list dir
FROM microsoft/dotnet:2.2-aspnetcore-runtime AS runtime # step 2, runtime env (slimmed down container)
WORKDIR /app # create workdir
COPY --from=build-env /<YOUR_BULD_PATH>/out ./ # copy from prev container build output
RUN ls -al # list again
ENTRYPOINT ["dotnet", "Department.dll", "--urls", "http://*:6001"] # example from .NET Core 2.2 webapi with port 6005, this might not be your case
Теперь, чтобы запустить docker-compose, просто укажите файл докера, как вы уже сделали. Но оба docker / docker-compose теперь должны нормально работать. Конечно, вам нужно немного подправить файл докера, я не знаю ваше приложение или структуру папок.
И просто совет: если вы хотите запускать файл докера как отдельный, не забывайте аргументы при запускеэто для сопоставления портов -> -p 6001: 80