Azure / azure-dev

A developer CLI that reduces the time it takes for you to get started on Azure. The Azure Developer CLI (azd) provides a set of developer-friendly commands that map to key stages in your workflow - code, build, deploy, monitor, repeat.
https://aka.ms/azd
MIT License
369 stars 166 forks source link

azd package fails after installing buildx #3807

Open godefroi opened 2 weeks ago

godefroi commented 2 weeks ago

Output from azd version

azd version 1.8.1 (commit 88369c36ce2a0d60794389aad9b10de938f587e1)

Describe the bug After installing the buildx extension, azd package fails. Buildx was installed because Docker complains that the non-buildx builder is deprecated and will (eventually) be removed.

To Reproduce Install podman (desktop) Install Docker CE (Docker for Windows, but NOT "Docker Desktop"), using scoop install docker. I am not licensed for Docker Desktop, and I would be required to be licensed as I am using this commercially in a covered organization. Install buildx from Github, as described here: https://github.com/docker/buildx?tab=readme-ov-file#manual-download or using scoop with scoop install docker-buildx (results are the same).

Expected behavior azd package works with buildx the same as it works without buildx.

Environment

Additional context The output from azd package --debug is as follows:

$ azd package --debug
2024/04/27 14:34:26 main.go:59: azd version: 1.8.1 (commit 88369c36ce2a0d60794389aad9b10de938f587e1)
2024/04/27 14:34:26 project.go:120: Reading project from file '[project root folder]\azure.yaml'
2024/04/27 14:34:26 main.go:229: using cached latest version: 1.8.1 (expires on: 2024-04-28T20:23:05Z)
2024/04/27 14:34:26 project.go:120: Reading project from file '[project root folder]\azure.yaml'
2024/04/27 14:34:26 middleware.go:106: running middleware 'debug'
2024/04/27 14:34:26 middleware.go:106: running middleware 'experimentation'
2024/04/27 14:34:26 experimentation.go:42: assignment context: 0g5ad841:76970;
2024/04/27 14:34:26 middleware.go:106: running middleware 'telemetry'
2024/04/27 14:34:26 telemetry.go:38: TraceID: 04627fa6731e7b9d4efaac72d4b85590
2024/04/27 14:34:26 middleware.go:106: running middleware 'hooks'
2024/04/27 14:34:27 command_runner.go:307: Run exec: 'dotnet msbuild [project root folder]\[api service folder] --getProperty:IsAspireHost' , exit code: 0
Additional env:
   DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE=<redacted>
-------------------------------------stdout-------------------------------------------

2024/04/27 14:34:27 hooks.go:143: service 'api' does not require any command hooks.
2024/04/27 14:34:27 hooks.go:78: azd project is not available or does not contain any command hooks, skipping command hook registrations.

Packaging services (azd package)

2024/04/27 14:34:27 command_runner.go:307: Run exec: 'dotnet user-secrets init --project [project root folder]\[api service folder]\[api service project name].csproj' , exit code: 0
Additional env:
   DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE=<redacted>
-------------------------------------stdout-------------------------------------------
The MSBuild project '[project root folder]\[api service folder]\[api service project name].csproj' has already been initialized with a UserSecretsId.
2024/04/27 14:34:27 command_runner.go:307: Run exec: 'docker --version' , exit code: 0
-------------------------------------stdout-------------------------------------------
Docker version 26.0.1, build d260a54
2024/04/27 14:34:27 docker.go:270: docker version: Docker version 26.0.1, build d260a54
2024/04/27 14:34:27 docker.go:201: determining version from docker --version string: Docker version 26.0.1, build d260a54
2024/04/27 14:34:27 docker.go:213: extracted docker version: 26.0.1, build: d260a54 from version string
2024/04/27 14:34:27 ensure.go:47: Skipping install check for 'Docker'. It was previously confirmed.
  |       | Packaging service api2024/04/27 14:34:27 framework_service_docker.go:208: building image for service api, cwd: [project root folder]\[api service folder], path: ./Dockerfile, context: ../, buildArgs: [])
  Packaging service api (Building Docker image)                                                                         
  ────────── Docker Output ─────────────────────────────────────────────────────────────────────────────────────────────

  #12 [build 2/5] WORKDIR /source
  #12 CACHED

  #13 [stage-1 3/3] COPY --from=build /app .
  #13 CACHED
  WARNING: No output specified with docker-container driver. Build result will only remain in the build cache. To push r
  esult image into registry use --push or to load image into docker use --load                                          
  ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────2024/04/27 14:34:30 command_runner.go:307: Run exec: 'docker build -f ./Dockerfile --platform linux/amd64 -t [image tag] ../ --iidfile [temp folder name]\azd-docker-build1579947111\imgId' , exit code: 0
-------------------------------------stderr-------------------------------------------
#0 building with "default" instance using docker-container driver

#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 606B 0.1s
#1 transferring dockerfile: 606B 0.1s done
#1 DONE 0.2s

#2 [internal] load metadata for mcr.microsoft.com/dotnet/aspnet:8.0-jammy-chiseled
#2 ...

#3 [internal] load metadata for mcr.microsoft.com/dotnet/sdk:8.0-jammy
#3 DONE 0.3s

#2 [internal] load metadata for mcr.microsoft.com/dotnet/aspnet:8.0-jammy-chiseled
#2 DONE 0.3s

#4 [internal] load .dockerignore
#4 transferring context: 384B 0.1s
#4 transferring context: 384B 0.1s done
#4 DONE 0.2s

#5 [stage-1 1/3] FROM mcr.microsoft.com/dotnet/aspnet:8.0-jammy-chiseled@sha256:7b5bcc1f9e624de326b3b6878aafa0d723a2cea2fa832b6101caa877406bd082
#5 resolve mcr.microsoft.com/dotnet/aspnet:8.0-jammy-chiseled@sha256:7b5bcc1f9e624de326b3b6878aafa0d723a2cea2fa832b6101caa877406bd082 0.0s done
#5 DONE 0.0s

#6 [build 1/5] FROM mcr.microsoft.com/dotnet/sdk:8.0-jammy@sha256:803a3c537eea993def381da9ab9f57b59a6306bdf54c6cdaeae11b3b6af6072e
#6 resolve mcr.microsoft.com/dotnet/sdk:8.0-jammy@sha256:803a3c537eea993def381da9ab9f57b59a6306bdf54c6cdaeae11b3b6af6072e 0.0s done
#6 DONE 0.0s

#7 [internal] load build context
#7 transferring context: 4.27kB 0.1s done
#7 DONE 0.1s

#8 [build 3/5] COPY . ./
#8 CACHED

#9 [build 4/5] RUN dotnet restore
#9 CACHED

  |=      | Packaging service api2024/04/27 14:34:30 framework_service_docker.go:273: built image  for api
  (x) Failed: Packaging service api

ERROR: failed packaging service 'api': failing invoking action 'package', parsing source container image: empty image URL provided
rajeshkamal5050 commented 2 weeks ago

@wbreza can you take a look?