title: Docker does not create a new container when using docker-compose build
body: <p>I've set up two windows container for ASP.NET and MSSQL server. On the first docker-compose build everything works as expected. Then after I've made some changes to the custom dockerfile and run docker-compose build again it uses the old container again, not making any changes.</p>
  
  <p>I assumed that when i did a build it created a new container. Am i misunderstanding how docker works?</p>
  
  <p>This is the docker-compose.yml</p>
  
  <pre><code>version: '3'
  services:
    db:
      image: microsoft/mssql-server-windows-developer
  
      environment:
        sa_password: "Password1234!"
        ACCEPT_EULA: "Y"
  
      ports:
        - "8003:1433"
      build:
        context: .
        dockerfile: mssql.dockerfile
  
    web:
      build:
        context: .
        dockerfile: web.dockerfile
      image: mcr.microsoft.com/dotnet/framework/aspnet:4.8
      #volumes:
      #  - .:C:/inetpub/wwwroot
      ports: 
        - "8080:80"
        - "8081:431"
  </code></pre>
  
  <p>This is the mssql.dockerfile</p>
  
  <pre><code># escape=`
  
  FROM microsoft/mssql-server-windows-developer
  
  #set shell
  SHELL ["powershell.exe", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
  
  #make temp folder
  RUN mkdir C:\temp
  
  #copy script to temp folder
  COPY DownloadDatabase.ps1 C:\temp
  COPY RestoreDatabase.ps1 C:\temp
  
  #run script to retrieve production database
  WORKDIR C:\temp
  
  RUN .\DownloadDatabase.ps1 -sourcefile &lt;url&gt; -destinationfile &lt;target&gt;
  
  CMD .\RestoreDatabase.ps1
  </code></pre>
  
  <p>It is very easy to tell if the image has been re-used because the mkdir C:\temp errors out saying the directory already exists.</p>
  
  <p>EDIT: I've already tried all the options on docker compose. no-cache, force-rm</p>