Вы должны использовать dotnet watch run
для этого.Однако это означает, что вам нужно использовать образ SDK (microsoft / dotnet: 2.1-sdk), а не только образ времени выполнения (microsoft / dotnet: 2.1-aspnetcore-runtime).
Я просто использую два файла Docker и имеюдве службы, определенные в docker-compose.yml.Один использует dockerfile с образом среды выполнения (для развертывания), другой - с образом SDK (для разработки).
Файл Docker разработки может выглядеть примерно так:
FROM microsoft/dotnet:2.1-sdk AS build-env
# Use native linux file polling for better performance
ENV DOTNET_USE_POLLING_FILE_WATCHER 1
WORKDIR /app
ENTRYPOINT dotnet watch run --urls=http://+:5000
Youвозможно, придется изменить путь в соответствии с вашим проектом и тем, как вы отображаете его в вашем docker-compose.yml, но это более или менее.