nunofgs / docker-octoprint

Dockerfile to set up Octoprint with x86, armv6, armv7 and arm64 support!
https://hub.docker.com/r/nunofgs/octoprint/
GNU Affero General Public License v3.0
58 stars 32 forks source link

Architecture confusion (arm64 vs arm64/v8) #28

Closed rueckix closed 4 years ago

rueckix commented 4 years ago

I am having trouble with pulling images on raspberry pi 3B.

If I pull the master-alpine tag, it works perfectly. Trying to pull the latest-alpine, results in errors (no matching manifest...).

I did a bit of digging and found that my architecture is advertised by docker as "linux/arm64/v8" and that your images are built for "linux/arm64", i.e., not specifying the "v8". Similarly, in the Dockerfile for Alpine, there is a substring check for "arm64" that will not work if "v8" is present in $TARGETPLATFORM.

What do you think, could this be causing the issues that I am observing? If so, I am wondering why it would work on master.

rueckix commented 4 years ago

Let me add more details.

docker pull nunofgs/octoprint:latest

latest: Pulling from nunofgs/octoprint
no matching manifest for linux/arm64/v8 in the manifest list entries

docker pull nunofgs/octoprint:latest-alpine Error response from daemon: manifest for nunofgs/octoprint:latest-alpine not found

docker pull nunofgs/octoprint:master-alpine

master-alpine: Pulling from nunofgs/octoprint
29bddadc8f3f: Already exists 
30cb25343b8c: Already exists 
ad1cd6204285: Already exists 
9d40a85804d0: Already exists 
e14c38b44dad: Pull complete 
9b229411b973: Pull complete 
fcb307e097bc: Pull complete 
2652a671d467: Pull complete 
03c158da1712: Pull complete 
de3a90834d9b: Pull complete 
f82b55831a5c: Pull complete 
33eb67028028: Pull complete 
9ccf68bb732b: Pull complete 
Digest: sha256:d3f230a6e1e42b28e3fc8ebd9a571ad9853ed581559078e5eb7a4c2dfcd27dd0
Status: Downloaded newer image for nunofgs/octoprint:master-alpine

My system details

Linux rpi-prn 4.19.67-0-rpi #1-Alpine SMP PREEMPT Tue Aug 20 08:35:23 UTC 2019 aarch64 Linux

Docker Version: 18.09.8-ce
nunofgs commented 4 years ago

Hi @rueckix,

The reason it works on the master images is because those are the only images that have the arm64 manifests.

The latest and X.X.X tags are still pointing to the old images that were built before I added support for arm64. Since I added that support there haven't been any new releases of octoprint, which is why they haven't been auto-updated. (you can confirm this from the timestamps here)

I'll kick off a build to update latest and 1.3.11 right now.

rueckix commented 4 years ago

Thanks, I'll keep an eye out for those new builds. Great work, by the way.

nunofgs commented 4 years ago

Builds are pushed. Give it a whirl!

rueckix commented 4 years ago

Just fired up "alpine". Works. Found that "latest-alpine" does not exist, though (listed in the the Readme.md).

nunofgs commented 4 years ago

Nice catch, the README is incorrect. latest-alpine is just alpine (same for debian)