Comments (9)
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.
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.
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.
@ddscentral Nice! I am interested with your patched version of udocker. I will be thankful if you can share it somewhere.
from udocker.
@ddscentral I have a couple of questions about your fork.
- You added qemu multiarch stuff, so the use case is to run x86 image on arm, am i understanding it correctly?
- Why did you add proot link2symlink here? What problem you are trying to solve here?
from udocker.
- 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. - 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.
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.
This issue should be fixed in release 1.3.9.
from udocker.
release 1.3.11 created
from udocker.
Related Issues (20)
- login fails all the time HOT 2
- Reintroduce udocker namespace in all imports HOT 3
- Error when loading a docker image HOT 4
- Udocker in chroot HOT 2
- `GLIBC_2.33' not found .required by ***/libfakechroot-Debian-11-x86_64.so HOT 2
- Modify the container time in udocker HOT 2
- Running Syft on udocker container does not work as expected. Container creation has Warning: check container content HOT 2
- [Feature Request] prune command
- Error: in download: %s curl: (23) Failed writing body HOT 2
- Getting "Error: Invalid container name format", when trying to run a container HOT 1
- Cannot pull ubuntu:latest from Docker hub, it is now an OCI index file HOT 2
- Update to latest mainline Proot HOT 1
- Python binary not found on Ubuntu HOT 1
- udocker load in rhel cluster doesn't work on saved tar docker image HOT 2
- Cannot push saved tarball as rootFs is missing in json. Invalid image config (rootFS is not set) HOT 4
- Remove mount point when exists HOT 1
- Error loading docker image HOT 5
- config udocker output is not working HOT 2
- missing launching exception type in do_version HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from udocker.