Skip to content
This repository has been archived by the owner on Oct 5, 2021. It is now read-only.

Cannot use RUN in dockerfile? #1

Open
Silex opened this issue Jan 10, 2020 · 0 comments
Open

Cannot use RUN in dockerfile? #1

Silex opened this issue Jan 10, 2020 · 0 comments

Comments

@Silex
Copy link

Silex commented Jan 10, 2020

Hello,

Thank you for theses examples it helped me greatly to get on the right track in order to build multiarch images for emacs (https://github.com/Silex/docker-emacs). I'm not very far from success but there are still a few roadblocks to solve.

I discovered that as soon as you use RUN in a Dockerfile on travis with your setup things fail for arm/v7.

Luckily the fix is rather simple: use docker run --rm --privileged multiarch/qemu-user-static --reset -p yes instead of the register version. Maybe you want to update your example and add a silly RUN statement to show it work.

Maybe you can clarify something for me: buildx builds, creates the manifest, annotate... that is great, but that is for a single node, and building through qemu is slow.

Travis introduced arm workers, so I was thinking of building amd64/i386 on an amd64 worker, and building arm v7/v8 on an arm worker. I don't think that would work because one worker would create a manifest for amd64/i386 and the other for armv7/armv8 and both would overwrite the other's manifest.

I think "the buildx way" requires you to create a swarm of builder notes which will be hard to do with the travis workers 😕

Maybe I could simply build/push in each workers with explicit tags like foo:amd64, foo:arm64, and then a 3rd worker only builds the full manifest and push it.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant