Giter VIP home page Giter VIP logo

Comments (9)

ddscentral avatar ddscentral commented on June 10, 2024 1

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:).
This allows me to force udocker to request a specific image instead of a tag. Not the most convenient way, but it does the job.
I can upload my patched version of udocker if anyone needs it (the code would require some cleaning-up for a proper PR).

from udocker.

ddscentral avatar ddscentral commented on June 10, 2024 1

Link: udocker-1.3.7-patched-DDSC.tar.gz

Changes:

  • Support for pulling images by sha256 hash.
  • Support for QEMU user-mode emulation. Set QEMU_PATH environment variable to the path of your qemu-user binary (eg qemu-x86_64) before executing "udocker run" command.

I made this fork for my own uses and will not provide support for it. Code cleanup is welcome.

from udocker.

dhanar10 avatar dhanar10 commented on June 10, 2024

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

from udocker.

dhanar10 avatar dhanar10 commented on June 10, 2024

@ddscentral Nice! I am interested with your patched version of udocker. I will be thankful if you can share it somewhere.

from udocker.

dhanar10 avatar dhanar10 commented on June 10, 2024

@ddscentral I have a couple of questions about your fork.

  1. You added qemu multiarch stuff, so the use case is to run x86 image on arm, am i understanding it correctly?

image

  1. Why did you add proot link2symlink here? What problem you are trying to solve here?

image

from udocker.

ddscentral avatar ddscentral commented on June 10, 2024
  1. Yes, this allows to run images made for a different processor architecture (eg. x86 on ARM).
    This works similarly to https://github.com/tonistiigi/binfmt but in user mode and without requiring binfmt support.
  2. Sorry, my comment probably isn't the clearest. Proot with link2symlink is required to workaround permission issues when extracting Docker images which contain hardlinks. This option converts them to symlinks.
    Without this, you would require root privileges to extract images which contain hardlinks.

from udocker.

ddscentral avatar ddscentral commented on June 10, 2024

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.

from udocker.

jorge-lip avatar jorge-lip commented on June 10, 2024

This issue should be fixed in release 1.3.9.

from udocker.

mariojmdavid avatar mariojmdavid commented on June 10, 2024

release 1.3.11 created

from udocker.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.