Closed dnnp362 closed 3 months ago
You seems to run a 64bits OS. The requested platform should be "linux/arm64/v8", not "linux/arm/v8"...
Yes, thank you, but afaik 'arm64/v8' doesn't exist, it is 'arm/v8' that can handle 32/64bits and it looks that my docker doesn't like current tags.
https://en.wikichip.org/wiki/arm/armv8#AArch64
would it be possible to add arm/v8 for those that are 64 bit capable to the container? Thank you again.
but afaik 'arm64/v8' doesn't exist, it is 'arm/v8' that can handle 32/64bits
I'm 100% sure that arm64/v8
exists. This is in fact the only 64-bits ARM platform supported by Docker.
arm/v8
would mean 32-bits arch with the v8
variant, which is not a combinaison I've ever seen. With 32-bits ARM, the variants are either v6
or v7
.
Note that the Raspberry 4 can run 32-bits or 64-bits OS. This is dictating which version of the image it will pull. This container supports only 64-bits ARM, thus you must use a 64-bits OS.
Finally, simply running docker pull jlesage/jdownloader-2
on you Raspberry should be enough for Docker to select the correct image. I'm not sure why in your case it tries to select something different.
Here is what I get on my Raspberry 4 B, running the Raspberry OS 64-bits:
$ uname -a
Linux raspberrypi 5.15.74-v8+ #1595 SMP PREEMPT Wed Oct 26 11:07:24 BST 2022 aarch64 GNU/Linux
$ docker pull jlesage/jdownloader-2
Using default tag: latest
latest: Pulling from jlesage/jdownloader-2
3760b48202b3: Already exists
4f4fb700ef54: Pull complete
2720bcbf0eeb: Pull complete
14e529422b99: Pull complete
4b4428c35aab: Pull complete
3baf4fd1031a: Pull complete
017a64d4a562: Pull complete
2e3f86452590: Pull complete
f4ccd836ed1b: Pull complete
cc9a6af94887: Pull complete
af3afc1fd636: Pull complete
02b212437706: Pull complete
9061467774c7: Pull complete
c19d7ce880de: Pull complete
b8acab9834ff: Pull complete
fe5256cf3b0b: Pull complete
aea5ab45c2b6: Pull complete
9c76e5351801: Pull complete
7f50fcfdc9c7: Pull complete
52f1c2dfba07: Pull complete
8c21c9190299: Pull complete
9031ad421fe7: Pull complete
90cb12d716ff: Pull complete
9af0f86d3a66: Pull complete
18c22aa3d8bc: Pull complete
e6c955f5f8bc: Pull complete
129eb5d9cca5: Pull complete
9f4ab91273bf: Pull complete
4883b2140c83: Pull complete
4b6a2ac0d941: Pull complete
0986e0d531d9: Pull complete
Digest: sha256:756ecb628ad3fb629480fd5781f3f0b08126581d2daa2e6ae1472579dc7915e7
Status: Downloaded newer image for jlesage/jdownloader-2:latest
docker.io/jlesage/jdownloader-2:latest
Hi @jlesage,
I am having a similar issue on both of my Raspberry Pi 4s. (one linux/arm/v8
64bit and one linux/arm/v7
32bit). I just tried it myself and it neither worked on my machines. Since one machine requires to be running in an 32bit environment I would be really happy if you would add the corresponding platform to your GitHub action.
I already forked your repo, updated it accordingly and I am now able to run the container! :)
I will create created a PR (https://github.com/jlesage/docker-jdownloader-2/pull/145) soon, so would be amazing if you could have a look into it.
Here are logs showing the failure:
uname -a
Linux raspberry 5.15.32-v7l+ #1538 SMP Thu Mar 31 19:39:41 BST 2022 armv7l GNU/Linux
docker pull jlesage/jdownloader-2
Using default tag: latest
latest: Pulling from jlesage/jdownloader-2
no matching manifest for linux/arm/v7 in the manifest list entries
uname -a
Linux raspberry 5.10.103-v8+ #1529 SMP PREEMPT Tue Mar 8 12:26:46 GMT 2022 aarch64 GNU/Linux
docker pull jlesage/jdownloader-2
Using default tag: latest
latest: Pulling from jlesage/jdownloader-2
no matching manifest for linux/arm/v8 in the manifest list entries
Regards, Timo
32-bit ARM image is not available because of the lack of optimized Java support. See https://github.com/jlesage/docker-jdownloader-2/issues/131. While it's possible to build an image, the execution is too slow to be usable.
For the 64-bit ARM image, it seems that for some reason Docker is not requesting to correct architecture. On a 64-bit OS, it should request the arm64
architecture, not arm
(which is 32-bit).
As mentioned earlier, I don't see the issue on my Raspberry Pi 4B running the latest Raspberry Pi OS (64-bits). What version of docker are you using ?
Here is what I have:
uname -a
Linux raspberrypi 6.1.19-v8+ #1637 SMP PREEMPT Tue Mar 14 11:11:47 GMT 2023 aarch64 GNU/Linux
docker version
Client: Docker Engine - Community
Version: 23.0.2
API version: 1.42
Go version: go1.19.7
Git commit: 569dd73
Built: Mon Mar 27 16:16:13 2023
OS/Arch: linux/arm64
Context: default
Server: Docker Engine - Community
Engine:
Version: 23.0.2
API version: 1.42 (minimum version 1.12)
Go version: go1.19.7
Git commit: 219f21b
Built: Mon Mar 27 16:16:13 2023
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: 1.6.19
GitCommit: 1e1ea6e986c6c86565bc33d52e34b81b3e2bc71f
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Also, on your 64-bit OS, if you manually set the platform, does it work?
docker run --rm --platform linux/arm64/v8 jlesage/jdownloader-2
32-bit ARM image is not available because of the lack of optimized Java support. See #131. While it's possible to build an image, the execution is too slow to be usable.
This is not entirely true. I adapted the code like in the PR and built the docker image for linux/arm/v7
myself and all works fine. Of course performance could be better, but JDownloader functions as expected without any issue.
As mentioned earlier, I don't see the issue on my Raspberry Pi 4B running the latest Raspberry Pi OS (64-bits). What version of docker are you using ?
On my 64 bit Pi you are right, it seems that it is not resolving the architecture correctly:
docker version
Client: Docker Engine - Community
Version: 23.0.1
API version: 1.42
Go version: go1.19.5
Git commit: a5ee5b1
Built: Thu Feb 9 19:47:20 2023
OS/Arch: linux/arm
Context: default
Server: Docker Engine - Community
Engine:
Version: 23.0.1
API version: 1.42 (minimum version 1.12)
Go version: go1.19.5
Git commit: bc3805a
Built: Thu Feb 9 19:47:20 2023
OS/Arch: linux/arm
Experimental: false
containerd:
Version: 1.6.18
GitCommit: 2456e983eb9e37e47538f59ea18f2043c9a73640
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Manually setting the platform works though. Thanks! So the image works at least on my 64 bit environment.
Would it be fine for you to still merge the support for a 32 bit environment?
On my 64 bit Pi you are right, it seems that it is not resolving the architecture correctly
Did you install the 64bit version of Docker ? You can verify the binary with:
$ file /usr/bin/docker
/usr/bin/docker: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=a4568564499cfd8941d4e77a4eb1bad6a8f3ccde, for GNU/Linux 3.7.0, with debug_info, not stripped
Would it be fine for you to still merge the support for a 32 bit environment?
Last time I tried it was too slow. At least the initial installation was interminable. I will build arm/v7 again and have another try to see.
Also, on your 64-bit OS, if you manually set the platform, does it work?
docker run --rm --platform linux/arm64/v8 jlesage/jdownloader-2
Hi, that worked for me. Thank you.
Did you install the 64bit version of Docker ? You can verify the binary with:
It seems that I did not. I will reinstall it accordingly.
Last time I tried it was too slow. At least the initial installation was interminable. I will build arm/v7 again and have another try to see.
I mean it is definitely slow and the initial setup takes a while. But for an application which you rarely use, I find it totally acceptable. And since its technically working, I see no reason in not providing a corresponding Docker image. ☺️
Hello, I am in the same situation as above, I can't use your jdownloader image on a raspberry 4.
uname -a
Linux superpi4 6.1.25-v8+ #1647 SMP PREEMPT Wed Apr 26 17:39:08 BST 2023 aarch64 GNU/Linux
I use the 32bits version of docker, but I don't see how I can change that, I used the method given in the doc by adding the repository.
file /usr/bin/docker
/usr/bin/docker: ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, BuildID[sha1]=e6ade23dc898cc3c9afceb1257a67a6ef69c314b, for GNU/Linux 3.2.0, with debug_info, not stripped
I also manage to download the image via the command :
docker run --rm --platform linux/arm64/v8 jlesage/jdownloader-2
Although I see the container running via portainer, there is no IP address assigned or even port opened although I mentioned it in the docker-compose.
Is there any known solution? Thanks in advance
Which method did you use to install Docker ?
Good evening,
I used the method given in the docker doc using the apt repository. https://docs.docker.com/engine/install/debian/#install-using-the-repository
And which OS did you install on your raspberry ?
Hello, I didn't bother too much, I used Raspberry Pi Imager to write on a ssd and I used Raspberry Pi OS
lsb_release -a
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
Ok, I'm not sure why it installed the 32-bits version... Maybe you can try to re-install Docker using this guide: https://raspberrytips.com/docker-on-raspberry-pi/
Last time I tried it was too slow. At least the initial installation was interminable. I will build arm/v7 again and have another try to see.
I tried again an arm/v7 version: on a Raspberry 4B, it took more than 10 min to perform the initial JDownloader setup. Also, the restart of JD was too slow, causing the container to stop instead. @timoknapp, do you see similar behaviours ?
Ok, I'm not sure why it installed the 32-bits version... Maybe you can try to re-install Docker using this guide: https://raspberrytips.com/docker-on-raspberry-pi/
Good morning, I come to make a small return on the basic concern: I reinstalled Pi OS because I realized that I had the x64 desktop version installed and not the headless version. I reinstalled docker the same way as the first following the documentation, and this time I do have a x64 version of docker and the JDownloader image works great.
Maybe with a desktop version it's a 32bit version of docker that is installed.
THANKS
Hello For some like me that did not have time reinstalling a full 64 OS, there's a way to make it work thanks to the other docker base gui images available here https://github.com/jlesage/docker-baseimage-gui Edit the docker file to replace the alpine image with ubuntu 20.04 (also update the commands that are os dependent) and it will works like a charm
Closing this issue. Please re-open is needed.
latest: Pulling from jlesage/jdownloader-2 docker: no matching manifest for linux/arm/v8 in the manifest list entries.
Hi,
thank you in advance, I get this error about the manifest when trying to pull the image.
is this some metadata you could add to the container? or is an architecture limitation? I'm trying to run it on a Raspberry Pi 4 8GB
This is my kernel: Linux kodi 6.1.12 #1 SMP Tue Feb 28 04:39:00 UTC 2023 aarch64 GNU/Linux