Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create Dockerfile.arm32v7 #435

Merged
merged 2 commits into from
Nov 26, 2018

Conversation

anthonyraymond
Copy link
Contributor

@anthonyraymond anthonyraymond commented Oct 28, 2018

Description of change

Since the Dockerfile use the alpine image of Node, It's not multi-arch compliant. So here is a Dockerfile for arm32v7 platform (like raspberry).

A better option IMO would be to base the Dockerfile on node:8 instead of node:8-alpine, it will make it multi-arch compliant automatically. But i may understand if you don't wish to double the image size.

EDIT: i deliberately choosed stretch version to allow libopenzwave installation (if needed)

@Pierre-Gilles
Copy link
Contributor

Nice work! One question: why Arm32v7 and not arm32v6? Here you're excluding all Raspberry Pi B/Zero!

@anthonyraymond
Copy link
Contributor Author

anthonyraymond commented Oct 30, 2018

Hi 😄

If you want arm32v6 the regular Dockerfile is the way to go,

Node is an official docker image, it means that from a unique base image (in this case node:8-alpine) you can build from multiple architecture (amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x).
If you try to build the Dockerfile from an arm32v6 arch it will automatically download arm32v6/node:8-alpine base image.

This is the wonderfull theory of docker's multi-arch official image. But in the real world, it does not always work. In our case arm32v6/node:8-alpine will works, but the arm32v7/node does not have a 8-alpine tag so...

In this very case it's kinda weird since Debian and Alpine didn't quite understood on what is arm32v6 and arm32v7. See gliderlabs/docker-alpine#298 (comment)
This is the reason why arm32v7 does not have an alpine tag

@VonOx
Copy link
Contributor

VonOx commented Nov 14, 2018

This is build problem or usage problem of current alpine image ?

Can you add nmap package ? ( Used by some module )

@VonOx
Copy link
Contributor

VonOx commented Nov 14, 2018

After some reading, i have understood. This PR is a workaround

I think we need to use manifest to build multiarch images ( Gladys for ALL 😄 ) , but this require some learning/work/test.

For reference: https://docs.docker.com/registry/spec/manifest-v2-2/#manifest-list

@Pierre-Gilles
Copy link
Contributor

I'm merging this in the meantime, this is a great PR :) We'll investigate for a multiarch image in the future!

Thanks!

@Pierre-Gilles Pierre-Gilles merged commit 9d3090c into GladysAssistant:master Nov 26, 2018
R6n0 pushed a commit to R6n0/Gladys that referenced this pull request Dec 2, 2020
* Create Dockerfile.arm32v7

* Update Dockerfile.arm32v7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants