You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using the syft container image to run commands. A breaking change occurred between 0.75.0 and 0.76.0 that causes the target image to match the architecture of the environment (syft container).
It results in the following error message:
[0001] WARN scheme "docker" specified, but it coincides with a common image name; re-examining user input "docker:mcr.microsoft.com/dotnet/runtime-deps:8.0-preview-jammy-chiseled-arm32v7" without scheme parsing because image retrieval using scheme parsing was unsuccessful: unable to use DockerDaemon source: image has unexpected architecture "arm", which differs from the user specified architecture "arm64"
2023/04/03 21:12:08 error during command execution: 1 error occurred:
* failed to construct source from user input "docker:mcr.microsoft.com/dotnet/runtime-deps:8.0-preview-jammy-chiseled-arm32v7": could not fetch image "mcr.microsoft.com/dotnet/runtime-deps:8.0-preview-jammy-chiseled-arm32v7": unable to determine image source to select platform
What you expected to happen:
Command should successfully return the packages contained in the target image.
Steps to reproduce the issue:
From a Windows 11 x64 machine with Docker Desktop installed, run:
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock anchore/syft:v0.76.0 packages docker:mcr.microsoft.com/dotnet/runtime-deps:8.0-preview-jammy-chiseled-arm32v7 -o json
This executes successfully if you target the v0.75.0 tag.
This works correctly if you match the architecture with the --platform tag (notice in this example that I'm targeting Arm64 instead of Arm32):
Hi @mthalman, thanks for the report, and sorry for the trouble. The change that is affecting you is: anchore/stereoscope#152 -- it looks like in your example you're adding the "--platform linux/arm64" argument to the docker command. Can you try instead to remove the docker --platform argument and instead specify it as a syft argument like this:
What happened:
I'm using the syft container image to run commands. A breaking change occurred between 0.75.0 and 0.76.0 that causes the target image to match the architecture of the environment (syft container).
It results in the following error message:
What you expected to happen:
Command should successfully return the packages contained in the target image.
Steps to reproduce the issue:
From a Windows 11 x64 machine with Docker Desktop installed, run:
This executes successfully if you target the
v0.75.0
tag.This works correctly if you match the architecture with the
--platform
tag (notice in this example that I'm targeting Arm64 instead of Arm32):But this isn't possible to do with Arm32 (with emulation) because there are no Arm32 syft container images published.
The text was updated successfully, but these errors were encountered: