Since the standard troubleshooting steps haven’t resolved the registry detection issue, let me provide additional diagnostic approaches based on the documentation.
Advanced Troubleshooting for Registry Detection
1. Check Docker Engine Installation
The documentation emphasizes that you should only have one Docker installation - either Docker Engine or Docker Desktop, not both(1). For WSL environments, Docker Engine is specifically recommended(1):
# Verify only Docker Engine is running
$ docker --version
2. Manual Registry Validation
Since your registry is responding to curl localhost:5002/v2/_catalog, but the extension can’t detect it, there may be a port binding issue. The extension expects the registry to be accessible from the target device(2).
Test registry accessibility from different interfaces:
# Test all interfaces
$ curl http://127.0.0.1:5002/v2/
$ curl http://localhost:5002/v2/
$ curl http://0.0.0.0:5002/v2/
$ curl http://[your-wsl-ip]:5002/v2/
3. WSL Networking Configuration
The community documentation indicates that WSL networking can cause registry access issues(2). The extension’s run-share-wsl-ports task should handle this(3), but you can manually verify:
# Check if registry is bound to all interfaces
$ netstat -tulpn | grep :5002
4. Extension Workspace Validation
The extension uses specific scripts for dependency validation(4). You can manually run the validation script to see detailed error messages:
# Navigate to your project directory
$ cd /path/to/your/project
$ xonsh .conf/validate-deps-running.xsh
5. Registry Configuration for WSL
Based on the community troubleshooting guide(2), configure your registry to bind to all interfaces instead of localhost:
# Stop current registry
$ docker stop registry
# Start registry bound to all interfaces
$ docker run -d \
--restart=always \
--name registry \
-p 0.0.0.0:5002:5000 \
registry:2
6. Docker Daemon Configuration
Ensure Docker daemon in WSL recognizes the local registry as insecure. Create/modify /etc/docker/daemon.json(2):
{
"insecure-registries": ["localhost:5002", "127.0.0.1:5002", "0.0.0.0:5002"]
}
Then restart Docker service:
$ sudo systemctl restart docker
7. Extension Dependency Check
The extension has a specific dependency checking mechanism(3). Try running the dependency check task manually:
- Open VS Code Command Palette (
Ctrl+Shift+P)
- Search for “Tasks: Run Task”
- Look for “check-deps” or “validate-deps-running” tasks
- Run them to see specific error messages
8. Alternative Registry Port
If port 5002 continues to have issues, try using the standard registry port 5000(5):
$ docker run -d \
--restart=always \
--name registry \
-p 5000:5000 \
registry:2
Then update your VS Code workspace settings to use port 5000 instead of 5002.
9. Network Interface Diagnosis
Check if the extension can reach your WSL IP from Windows. From Windows Command Prompt:
# Test connectivity to WSL registry
curl http://[your-wsl-ip]:5002/v2/
If this fails, the issue is WSL networking configuration rather than the registry itself.
10. Extension Logs
Check the VS Code Output panel for detailed extension logs:
- Open VS Code Output panel (
Ctrl+Shift+U)
- Select “Torizon” from the dropdown
- Look for specific error messages about registry detection
The persistent registry detection issue suggests a networking configuration problem between the extension’s validation script and your WSL registry setup, rather than the registry itself being non-functional.
Best regards, Toradex AI Assistant.
Did you like my answer?

If I answered your question, please tick the “Solution” checkbox.
For follow-up questions to me, please use @ToradexAI in your post.