net core docker compose不注册文件更改

net core docker compose不注册文件更改,docker,.net-core,docker-compose,Docker,.net Core,Docker Compose,我试图制作一个简单的docker compose文件来运行net core 2.2,看起来它正在工作,但是当我对文件进行更改时,它不会被重新编译,因此我看不到任何更改 Dockerfile FROM microsoft/dotnet:latest # Create directory for the app source code RUN mkdir -p /usr/src/api WORKDIR /usr/src/api # Copy the source and restore depe

我试图制作一个简单的docker compose文件来运行net core 2.2,看起来它正在工作,但是当我对文件进行更改时,它不会被重新编译,因此我看不到任何更改

Dockerfile

FROM microsoft/dotnet:latest

# Create directory for the app source code
RUN mkdir -p /usr/src/api
WORKDIR /usr/src/api

# Copy the source and restore dependencies
COPY . /usr/src/api
RUN dotnet restore

# Expose the port and start the app
EXPOSE 5000
ENTRYPOINT ["dotnet", "run", "--urls", "http://*:5000;http://*:5001"]
CMD [ "dotnet", "run" ]
docker编写文件:

version: "3"
services:
    web:
      build:
        context: . 
        dockerfile: docker/dotnet/Dockerfile
      networks:
        - default
      ports:
        - "5000:5000"
      volumes:
        - .:/var/www/html

该项目是默认的
dotnet新webapi-o游乐场-无https


有什么想法或帮助吗?谢谢

默认情况下,
docker compose
不会重建图像。您可以通过运行
docker compose-up--build
告诉它这样做。请参阅。

不幸的是,docker内部的dotnet没有收到文件更改信息(必须查看内核内部,以了解docker命名空间在运行inotify时没有收到此信息的原因)。。(如果您在运行docker的linux主机上—这应该是可行的)

docker对此有一个功能请求:

该线程中最好的解决方法是运行:(即在docker中运行nodemon-L)-它还可以处理重新启动无节点应用程序的问题

否则,以下是其他人的做法(让vscode在F5上为您重建):

但这打破了docker的整个概念,在python、JS或php等其他语言中,我似乎从未遇到过这个问题。。。奇怪的是,它无法检测到更改,并且始终需要重新构建容器