Docker failure when attempting Create C/C++ application

I’m attempting to follow the guide here: C/C++ Development and Debugging on TorizonCore Using Visual Studio Code | Toradex Developer Center

When I attempt to create the project a failure occurs while opening up inside the container.

[internal] load metadata for Docker Hub
503b24ecfc1e897a40a56c62c9f077c2a08d2eb8a:failed to solve with frontend dockerfile.v0: failed to create LLB definition: pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed

[2020-12-17T19:01:45.653Z] [PID 22284] [2085 ms] Command failed: docker build -f c:\Users\tprins\build\verdin\docker\dummy_c.devcontainer\Dockerfile -t vsc-dummy_c-537ada95273afe829dced04de00cc929 c:\Users\tprins\build\verdin\docker\dummy_c.devcontainer

I have followed the steps in computer setup here and am running on Windows 10. Is this a known issue?

To anyone curious, I can get past it by replacing ‘sha256:4d7409b2e3e6360bc9b5d00503b24ecfc1e897a40a56c62c9f077c2a08d2eb8a’ with ‘torizon/debian-cross-toolchain-arm64:2-bullseye’ in the Dockerfile, however, when the container does finally load, Torizon Backend refuses to load.

Greetings @tprins,

Some clarifying questions. Are you using the stable or early access version of the extension? Finally could you provide the contents of your project’s config_app* folder. I’m curious why the extension generated a Dockerfile with that hash as the base image.

Finally could you elaborate on refuses to load? Like does the extension hang somewhere in particular or does it just not start anymore? Is there any logs you might be able to provide about this?

Best Regards,
Jeremias

@jeremias.tx I’m using the early access version. I get the same SHA error regardless of extension version. I’ve attached everything below that gets generated when choosing ‘Torizon/C-C++: Create C/C++ application’.

If I modify the Dockerfile as states above, then the app will continue to open in the container but I will get the notification that the Torizon extension isn’t loading. The extension gives the notification in the bottom right hand corner and sits and spins at ‘Initializing Torizon Extension: is Torizon Backend running?’. If I try and run the application (hitting F5) I get an error that reads ‘launch: property ‘program’ is missing or empty’.

Again, I’m trying to follow the tutorial here to attempt to launch and run a C++ application container on my Verdin dev board.

dummy_c_4.zip Early Access project files

That did it! Thanks!

Ok I believe I found the issue. It seems the latest version of Docker Desktop turns on something by default that breaks compatibility with our extension here.

Go to the settings window of docker desktop and to the docker engine tab. You’ll see there’s a json file you can edit there. You need to edit it to look like this:

{
  "registry-mirrors": [],
  "insecure-registries": [],
  "debug": false,
  "experimental": false
}

Basically just remove the “buildkit” and “features” node from the json file. These are the offending features that break compatibility with our extension. Once you’ve changed this file apply and reload the Docker Desktop. Try running the sample again it should build the dev container now.

Best Regards,
Jeremias

Glad it worked out for you!

is this still valid for 2022?

Hi @leighjboyd,

Are you getting the same error?
If so, please start a new thread, I will close this one since it has been solved.

Best regards,
Hiago.

Yes, and I tried to put in the new docker Engine file (removed the build kit) and docker crashed. Took a while to get it going again…

Here is what I used:

{
“builder”: {
“gc”: {
“defaultKeepStorage”: “20GB”,
“enabled”: true
}
},
“experimental”: false,
}