Closed ddscentral closed 10 months ago
I am encountering the same problem trying to use udocker in termux. I tried to figure out what's wrong by running udocker -D pull hello-world
. Looking at the debug output, it seems like udocker is fetching manifest v2 version 1 instead of version 2. I think this is probably the problem because according to docker docs I read, it looks like multi arch requires manifest v2 version 2. But CMIIW.
Edit: For clarity, my udocker is V1.3.8
I've noticed the manifest issue as well. Did some digging in the code but could not find a reason why manifest v1 is pulled.
I work-arounded the wrong architecture issue by adding support for pulling images by their SHA256 hashes (Docker syntax: docker pull imagename@sha256:
@ddscentral Nice! I am interested with your patched version of udocker. I will be thankful if you can share it somewhere.
Link: udocker-1.3.7-patched-DDSC.tar.gz
Changes:
I made this fork for my own uses and will not provide support for it. Code cleanup is welcome.
@ddscentral I have a couple of questions about your fork.
Another note: when running udocker under Termux, you will need to replace the "proot" binary installed by Udocker with Termux version as the stock one will not work on Android.
This issue should be fixed in release 1.3.9.
release 1.3.11 created
udocker pull pulls image for the wrong processor architecture. When running under arm64, amd64 (aka. x86-64) image is pulled, even though a native arm64 image is available for that container. Correct behavior should match that of "docker pull" command: try to pull image for the host machine architecture first and if it isn't available, display a warning and pull image for a different architecture, usually amd64.
Platform: Android (Termux)