dockerwindows-10dockerfilevisual-studio-2019docker-buildkit

Docker build failed to compute cache key


I have the below project structure

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         4/22/2021   1:49 PM                App_Start
d-----         3/20/2020   3:35 PM                Areas
d-----          5/4/2021   7:01 PM                bin
d-----         3/20/2020   3:35 PM                Content
d-----          5/4/2021   5:59 PM                Controllers
d-----         3/20/2020   3:35 PM                fonts
d-----         8/20/2020   9:43 PM                obj
d-----          7/9/2020   8:43 PM                Properties
d-----         3/20/2020   3:35 PM                Scripts
d-----         3/20/2020   3:35 PM                Views
-a----          5/4/2021   6:00 PM             46 .dockerignore
-a----          5/4/2021   6:00 PM          45239 foo.csproj
-a----          5/4/2021  11:21 PM           1621 foo.csproj.user
-a----         4/22/2021   1:49 PM            390 ConnectionStrings.config
-a----          5/5/2021  12:17 AM            375 Dockerfile
-a----         3/20/2020   3:35 PM            116 Global.asax
-a----         3/20/2020   3:35 PM            717 Global.asax.cs
-a----         8/13/2020   1:05 PM           1770 NLog.config
-a----         3/20/2020   3:35 PM         159853 NLog.xsd
-a----          5/4/2021   6:00 PM           9217 packages.config
-a----         3/20/2020   3:35 PM          12294 UnityConfiguration30.xsd
-a----          5/4/2021   6:00 PM          29650 Web.config
-a----         3/20/2020   3:35 PM           1308 Web.Debug.config
-a----         3/20/2020   3:35 PM            705 Web.Release.config

And I have one directory in bin directory that name is app.publish.

And my Dockerfile is like below:

#Depending on the operating system of the host machines(s) that will build or run the containers, the image specified in the FROM statement may need to be changed.
#For more information, please see https://aka.ms/containercompat

FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
ARG source
WORKDIR /inetpub/wwwroot
COPY bin/app.publish .

After I run below command to build image from this docker file

docker build -t soroshsabz/testcoreservice .

I got the below error

[+] Building 15.1s (7/7) FINISHED
 => [internal] load build definition from Dockerfile                                                               0.1s
 => => transferring dockerfile: 414B                                                                               0.0s
 => [internal] load .dockerignore                                                                                  0.1s
 => => transferring context: 34B                                                                                   0.0s
 => [internal] load metadata for mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019         14.9s
 => [1/3] FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019@sha256:e1475e80eb3cbdfd81  0.1s
 => => resolve mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019@sha256:e1475e80eb3cbdfd81  0.1s
 => [internal] load build context                                                                                  0.1s
 => => transferring context: 2B                                                                                    0.0s
 => CACHED [2/3] WORKDIR /inetpub/wwwroot                                                                          0.0s
 => ERROR [3/3] COPY bin/app.publish .                                                                             0.0s
------
 > [3/3] COPY bin/app.publish .:
------
failed to compute cache key: "/bin/app.publish" not found: not found

My question is why I got this error? and how to resolve it?

I use Docker Engine Community 20.10.6 on Windows 10 20H2 19042.964

I see Docker - failed to compute cache key: not found - runs fine in Visual Studio and some internal links, but does not find any useful things.

I am binging my problem and find some same problem like Dockerfile can’t copy specified local directory & file or Windows Docker Dockerfile COPY file inside folder.


Solution

  • Thanks to BMitch, I found my problem. The problem is the dockerignore file contains some pattern that must not match with COPY files name.

    My problem is the patterns inside the .dockerignore file is matched wrongly with bin/app.publish. To resolve my problem I just change the pattern in dockerignore.

    Specifically, remove the line **/bin for .dockerignore.