This explains your "no matching manifest" error perfectly! The VS Code terminal has the DOCKER_HOST environment variable set, which redirects Docker commands to your Verdin AM62 target device instead of your local WSL2 Docker installation(1).
What Is Happening
Looking at your two docker info outputs:
WSL Terminal (Direct):
- Architecture: x86_64
- Storage Driver: overlayfs (containerd snapshotter)
- Docker Version: 29.5.2
- Operating System: Torizon Development Environment for WSL 2
VS Code Terminal:
- Architecture: aarch64
- Storage Driver: overlay2
- Docker Version: 25.0.3
- Operating System: Torizon OS 7.5.0+build.30
- Name: verdin-am62-15600960
The VS Code terminal is connecting to Docker on your Verdin AM62 device (IP: 10.85.76.239), not your local WSL2 Docker(1).
The Root Cause
The Torizon IDE Extension sets the DOCKER_HOST environment variable to enable remote Docker operations on the target device(1). This is why when the extension tries to pull localhost:5003/mudelcontroller-debug:arm64, it's actually executing that command on the Verdin AM62, which is running Docker 25.0.3 with the older overlay2 storage driver.
The manifest error occurs because:
- The image was built on your WSL2 machine with Docker 29 using the containerd snapshotter
- The image was pushed to your local registry (localhost:5003) on WSL2
- The Verdin AM62 tries to pull from that registry but encounters a manifest format it doesn't understand
Solution
To verify this is the issue, check the DOCKER_HOST variable in your VS Code terminal:
echo $DOCKER_HOST
You'll likely see it set to 10.85.76.239:2375 (your Verdin AM62's Docker API endpoint)(1).
The issue is that Docker 29 on your WSL2 system is creating manifests incompatible with Docker 25 on your target device. Since Torizon IDE Extension 3.6.0 should handle Docker 29, but your target is running Docker 25, there's a version mismatch in the deployment chain.
Recommended fix: Downgrade Docker on your WSL2 system to version 28.x to ensure compatibility with the Docker version on your Verdin AM62(2):
- Uninstall Docker 29:
sudo apt-get remove docker-ce docker-ce-cli containerd.io
- Install Docker 28.x following the Docker Engine installation instructions for your WSL2 distribution(3)
- Configure Docker to run without root privileges(3)
- Re-enable ARM emulation:
docker run --rm -it --privileged torizon/binfmt
This will ensure manifest compatibility between your development environment and target device.
Best regards,
Toradex AI Assistant.
If I answered your question, please tick the “Solution” checkbox.
For follow-up questions to me, please use @ToradexAI in your post.