Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
Provide support for ARM 32bit #4444
I wanted to use
Based on the
I've tried to adapt the script/test/default in order to validate the generated docker-compose binary, but it is an unfinished job as I'm stuck with the fact that there are no images available of
Anyway, I have 2 small projects which uses docker-compose.yml and both works. But I'm only using a subset of all of docker-compose features, and I do not have a Swarm configured to test those aspects as well. So my commit is only partially validated. But at least it works perfectly for what I'm using of it.
Note: Try to use the
Added a new Dockerfile (Dockerfile.armhf) specific for ARM 32 bit. The Dockerfile was updated compare to default one: - Base image is armhf/debian instead of debian - Docker binary is downloaded with the correct arch (although it does not seems to be used) Signed-off-by: Jean-Christophe Berthon <email@example.com>
Modify `script/test/default` so it supports a first attempt at testing on ARM. Call the script with: `$ DOCKERFILE=Dockerfile.armhf script/test/default` to use the Dockerfile.armhf instead of the default Dockerfile for building the image. However, running the script is not working fully. The problem is that `dockerswarm/dind` does not provide an ARM image and therefore cannot be executed. If that is fixed then we should be able to change the script in order to use the ARM image instead of the default x86_64 image for running further tests. Signed-off-by: Jean-Christophe Berthon <firstname.lastname@example.org>
I have found out that I would need to update the script/release/build-binaries in order to build for the right target platform. Actually, this script does not need to be changed, but the scripts it calls should be adapted.
I can try to work on that, but I'd like some feedback/guidance on how to do that so it fits best with the project "culture".
My idea would be to add an architecture detection function which could be called by scripts in order to pick the right Dockerfile. So basically, the script call the detection functions which returns "armhf" (for instance) and then check that a Dockerfile.armhf exists if not fails. For amd64 (the "default" architecture), we would search for Dockerfile simply (without an filename extension).
This would require of course that all Dockerfile have an equivalent for each CPU architecture.
What do you think?
Hey, thanks for taking the time to look into this, and sorry for the delayed response!
This PR as it is looks good to me. As far as