invalid from flag value build: pull access denied for build, repository does not exist or may require 'docker login'
Solution 1
Solve it by removing the project file from all the dotnet commands.
Bellow the final dockerfile:
COPY . ./
RUN dotnet restore
RUN dotnet build -c Release -o /app/build
FROM build AS publish
RUN dotnet publish -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "ConsoleApp.dll"]
Solution 2
I was having the same issue, and this comment provided me with an answer. Looks like it's also your case.
The problem was with COPY --from=build
instruction - it references a build
stage while modifying the build
stage.
FROM mcr.microsoft.com/dotnet/core/runtime:2.2-nanoserver-1809 AS base
WORKDIR /app
# in "base" stage
FROM mcr.microsoft.com/dotnet/core/sdk:2.2-nanoserver-1809 AS build
WORKDIR /src
# in "build" stage - below command will fail, it could only reference "base" stage
COPY --from=build "ConsoleApp/ConsoleApp.csproj", "ConsoleApp/"
...
To solve the problem start with the build
stage, and then COPY your file while building the base
stage.
FROM mcr.microsoft.com/dotnet/core/sdk:2.2-nanoserver-1809 AS build
WORKDIR /app
# in "build" stage
FROM mcr.microsoft.com/dotnet/core/runtime:2.2-nanoserver-1809 AS base
WORKDIR /src
# in "base" stage - not you can reference "build" stage
COPY --from=build "/app/ConsoleApp/ConsoleApp.csproj", "ConsoleApp/"
...
Related videos on Youtube
MiguelSlv
Product Engineer for Printing and Finishing Industry, since 1998. Personal projects: Chat Player - Android App. Outdoor Navigator - Fancy iOS app. Guia Condominio - Self-Managed Home Owners Associations site Home site : https://byte-artisan.com My favorite quote: "Simplicity is the ultimate sophistication" Leonardo da Vinci
Updated on June 04, 2022Comments
-
MiguelSlv almost 2 years
I am trying to build a simple docker console project at azure DevOps pipeline, but i am unable to build the project.
When i try to copy the code i get this error:
invalid from flag value build: pull access denied for build, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
Here the full docker file:
FROM mcr.microsoft.com/dotnet/core/runtime:2.2-nanoserver-1809 AS base WORKDIR /app FROM mcr.microsoft.com/dotnet/core/sdk:2.2-nanoserver-1809 AS build WORKDIR /src COPY --from=build "ConsoleApp/ConsoleApp.csproj", "ConsoleApp/" #throws the error here. I added --from=build parameter because it couldn't find the project file. RUN dotnet restore "ConsoleApp/ConsoleApp.csproj" COPY . . WORKDIR "/src/ConsoleApp" RUN dotnet build "ConsoleApp.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "ConsoleApp.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "ConsoleApp.dll"]
Update:
The task yml file:
steps: - task: Docker@0 displayName: 'Build an image' inputs: containerregistrytype: 'Container Registry' dockerRegistryConnection: 'doker hub'
Update 2:
I changed copy command to
COPY . .
The file path, at TFS is:
The complete log file:
2019-11-25T15:34:33.4491101Z ##[section]Starting: Build an image 2019-11-25T15:34:33.4613318Z ============================================================================== 2019-11-25T15:34:33.4613432Z Task : Docker 2019-11-25T15:34:33.4613528Z Description : Build, tag, push, or run Docker images, or run a Docker command 2019-11-25T15:34:33.4613620Z Version : 0.157.0 2019-11-25T15:34:33.4613689Z Author : Microsoft Corporation 2019-11-25T15:34:33.4613787Z Help : https://docs.microsoft.com/azure/devops/pipelines/tasks/build/docker 2019-11-25T15:34:33.4613868Z ============================================================================== 2019-11-25T15:34:34.0099201Z dbef9fd1-06fb-47eb-af36-bf86b4d44152 exists true 2019-11-25T15:34:34.1132072Z [command]"C:\Program Files\Docker\docker.exe" build -f d:\a\8\s\AppTest\ConsoleApp\Dockerfile -t azuretp:33 d:\a\8\s\AppTest\ConsoleApp 2019-11-25T15:34:39.3835392Z Sending build context to Docker daemon 11.26kB 2019-11-25T15:34:39.3835994Z 2019-11-25T15:34:39.5250901Z Step 1/16 : FROM mcr.microsoft.com/dotnet/core/runtime:2.2-nanoserver-1809 AS base 2019-11-25T15:34:39.6690789Z 2.2-nanoserver-1809: Pulling from dotnet/core/runtime 2019-11-25T15:34:39.7397363Z 23bc016eaf5f: Pulling fs layer 2019-11-25T15:34:39.7477118Z 1506a91e0e91: Pulling fs layer 2019-11-25T15:34:39.7477672Z d752defd04f4: Pulling fs layer 2019-11-25T15:34:39.7477814Z 5b76cf9aff11: Pulling fs layer 2019-11-25T15:34:39.7477937Z 1fae94ecbbe0: Pulling fs layer 2019-11-25T15:34:39.7478049Z e2843b29b78d: Pulling fs layer 2019-11-25T15:34:39.7625929Z 5b76cf9aff11: Waiting 2019-11-25T15:34:39.7626564Z 1fae94ecbbe0: Waiting 2019-11-25T15:34:39.7626924Z e2843b29b78d: Waiting 2019-11-25T15:34:39.8306380Z d752defd04f4: Verifying Checksum 2019-11-25T15:34:39.8313518Z d752defd04f4: Download complete 2019-11-25T15:34:39.9793967Z 5b76cf9aff11: Verifying Checksum 2019-11-25T15:34:39.9794591Z 5b76cf9aff11: Download complete 2019-11-25T15:34:40.0818943Z 1fae94ecbbe0: Verifying Checksum 2019-11-25T15:34:40.0821242Z 1fae94ecbbe0: Download complete 2019-11-25T15:34:40.1914033Z e2843b29b78d: Verifying Checksum 2019-11-25T15:34:40.1915182Z e2843b29b78d: Download complete 2019-11-25T15:34:40.2091921Z 1506a91e0e91: Verifying Checksum 2019-11-25T15:34:40.2093781Z 1506a91e0e91: Download complete 2019-11-25T15:34:41.1068042Z 23bc016eaf5f: Verifying Checksum 2019-11-25T15:34:41.1070095Z 23bc016eaf5f: Download complete 2019-11-25T15:35:08.7208576Z 23bc016eaf5f: Pull complete 2019-11-25T15:35:11.7597259Z 1506a91e0e91: Pull complete 2019-11-25T15:35:12.0753094Z d752defd04f4: Pull complete 2019-11-25T15:35:13.5034462Z 5b76cf9aff11: Pull complete 2019-11-25T15:35:13.7952825Z 1fae94ecbbe0: Pull complete 2019-11-25T15:35:14.3030594Z e2843b29b78d: Pull complete 2019-11-25T15:35:14.3385623Z Digest: sha256:6a11ceb844e0298386926e5b6d9fb8ca08b48b3142714084f9a519ce76772b8b 2019-11-25T15:35:14.3591831Z Status: Downloaded newer image for mcr.microsoft.com/dotnet/core/runtime:2.2-nanoserver-1809 2019-11-25T15:35:14.3605675Z ---> a6fac7758a94 2019-11-25T15:35:14.3606063Z Step 2/16 : WORKDIR /app 2019-11-25T15:35:14.4148679Z ---> Running in fd199c77b02c 2019-11-25T15:35:16.4898262Z Removing intermediate container fd199c77b02c 2019-11-25T15:35:16.4898928Z ---> 559e8e328061 2019-11-25T15:35:16.4900006Z Step 3/16 : FROM mcr.microsoft.com/dotnet/core/sdk:2.2-nanoserver-1809 AS build 2019-11-25T15:35:16.5504979Z 2.2-nanoserver-1809: Pulling from dotnet/core/sdk 2019-11-25T15:35:16.6323512Z 23bc016eaf5f: Already exists 2019-11-25T15:35:16.6548830Z 37495ddaa8b9: Pulling fs layer 2019-11-25T15:35:16.6549322Z fb2660aea92f: Pulling fs layer 2019-11-25T15:35:16.6549732Z 3471d6e268de: Pulling fs layer 2019-11-25T15:35:16.6549818Z 947e8b97bb92: Pulling fs layer 2019-11-25T15:35:16.6549882Z 8b9c86e8b548: Pulling fs layer 2019-11-25T15:35:16.6549973Z bbd5e542a7a2: Pulling fs layer 2019-11-25T15:35:16.6550036Z 8b9c86e8b548: Waiting 2019-11-25T15:35:16.6550121Z bbd5e542a7a2: Waiting 2019-11-25T15:35:16.6550182Z 947e8b97bb92: Waiting 2019-11-25T15:35:16.7268050Z 3471d6e268de: Download complete 2019-11-25T15:35:16.7989518Z fb2660aea92f: Verifying Checksum 2019-11-25T15:35:16.7990139Z fb2660aea92f: Download complete 2019-11-25T15:35:16.8097265Z 947e8b97bb92: Verifying Checksum 2019-11-25T15:35:16.8097696Z 947e8b97bb92: Download complete 2019-11-25T15:35:16.8796696Z 8b9c86e8b548: Verifying Checksum 2019-11-25T15:35:16.8797664Z 8b9c86e8b548: Download complete 2019-11-25T15:35:18.3468013Z 37495ddaa8b9: Verifying Checksum 2019-11-25T15:35:18.3468807Z 37495ddaa8b9: Download complete 2019-11-25T15:35:19.4024655Z bbd5e542a7a2: Verifying Checksum 2019-11-25T15:35:19.4035569Z bbd5e542a7a2: Download complete 2019-11-25T15:35:35.6503063Z 37495ddaa8b9: Pull complete 2019-11-25T15:35:36.9309676Z fb2660aea92f: Pull complete 2019-11-25T15:35:39.3216403Z 3471d6e268de: Pull complete 2019-11-25T15:35:40.4185198Z 947e8b97bb92: Pull complete 2019-11-25T15:35:40.4185427Z 8b9c86e8b548: Pull complete 2019-11-25T15:37:22.5830397Z bbd5e542a7a2: Pull complete 2019-11-25T15:37:22.6176806Z Digest: sha256:8e4d25caa7e31a29b65baf74bd98409dd726bafd01a6233ae0fe40ec9f674483 2019-11-25T15:37:22.6437483Z Status: Downloaded newer image for mcr.microsoft.com/dotnet/core/sdk:2.2-nanoserver-1809 2019-11-25T15:37:22.6448181Z ---> 7be0da52b85b 2019-11-25T15:37:22.6448641Z Step 4/16 : WORKDIR /src 2019-11-25T15:37:22.6918329Z ---> Running in 7fdf9cdde20c 2019-11-25T15:37:24.1326749Z Removing intermediate container 7fdf9cdde20c 2019-11-25T15:37:24.1327772Z ---> 1da4399c5ac8 2019-11-25T15:37:24.1328334Z Step 5/16 : CMD dir /s *.* 2019-11-25T15:37:24.1731384Z ---> Running in cffc4fb91ebd 2019-11-25T15:37:25.0149409Z Removing intermediate container cffc4fb91ebd 2019-11-25T15:37:25.0150113Z ---> 0f83603380ce 2019-11-25T15:37:25.0156828Z Step 6/16 : COPY . . 2019-11-25T15:37:25.8923312Z ---> b7d0a7c26ab3 2019-11-25T15:37:25.8924095Z Step 7/16 : RUN dotnet restore "ConsoleApp/ConsoleApp.csproj" 2019-11-25T15:37:25.9551579Z ---> Running in fcad63d07491 2019-11-25T15:37:28.4525972Z MSBUILD : error MSB1009: Project file does not exist. 2019-11-25T15:37:28.4526602Z Switch: ConsoleApp/ConsoleApp.csproj 2019-11-25T15:37:29.4257288Z The command 'cmd /S /C dotnet restore "ConsoleApp/ConsoleApp.csproj"' returned a non-zero code: 1 2019-11-25T15:37:29.4499158Z ##[error]C:\Program Files\Docker\docker.exe failed with return code: 1 2019-11-25T15:37:29.4552631Z ##[section]Finishing: Build an image
-
MiguelSlv over 4 yearsMake sense but can't set the path right. I changed copy command to 'copy . .', as recommend, but no luck. Check the update 2.
-
MiguelSlv over 4 yearsStill same error:MSBUILD : error MSB1009: Project file does not exist. We are guessing. There is a way to list the folder?
-
MiguelSlv over 4 yearsSolve it. I remove all paths, following this example github.com/MicrosoftDocs/pipelines-dotnet-core-docker/blob/…. Since i want to build all projects in solution it works fine.
-
Hugh Lin over 4 years@MiguelSlv Thanks for sharing your solution here.You can convert your comment into an answer, it can help other community members who get the same issues more easily to find the solution and we could archive this thread, thanks. Have a nice day :)
-
botchniaque over 3 yearsThe problem was with
COPY --from=publish
instruction - it was being executed in thepublish
layer, and this is not allowed. Actually you solved it by adding another layer (final
) before copying -
botchniaque over 3 yearsI also added an answer below - I think it could help other with the same problem
-
NikNik about 2 yearsThanks a lot for explanation, I had a similar issue and it helped me to understand the "scope" of the stage