rqlite / rqlite-docker

rqlite docker images
MIT License
25 stars 11 forks source link

Add ARM support #12

Open Mikle-Bond opened 3 years ago

Mikle-Bond commented 3 years ago

From what I see in rqlite/rqlite#340 it should be possible to build ARM images and push them to Docker hub. I've noticed that Netmaker 0.7 uses rqlite as recommended and default data storage. But their official documentation doesn't mention that installation via Docker will fail on arm-based computers.

otoolep commented 2 years ago

Fixed. https://www.philipotoole.com/rqlite-7-6-0-released/

otoolep commented 2 years ago

We

otoolep commented 2 years ago

Well, not fixed, but there are ARM builds available now.

bigmangos commented 2 years ago

pls add arm docker tag, tks

otoolep commented 2 years ago

What are best practices for tag management in the Docker hub?

clementduveau commented 2 years ago

@otoolep Hi, in Docker Hub, no need to add a tag for cpu architecture. Tags are for version and base OS. Usually tags are like this:

But you are free to use your own tagging policy. Just tagging version is more than enough.

you can see a good example on the HTTPD docker hub page. Notice that for each tags several builds exists, dockerd will just pull the right one.

Most CI can build all architectures, tag it, and push it using variables.

ARM starts to gain a lot of traction in professional market right now (AWS and Azure are now providing ARM and plan them to be default arch)

clementduveau commented 2 years ago

Hey, I saw that you were using CircleCI for the main repo, and i found an example here

Basically, docker provides buildx to build images to multiple architectures without the need to launch a machine with a specific architecture. I am not sure to understand exactly your workflow with Docker and how different is the compiling commands between ARM and x64, so I can't contribute right now. If you need help to search for more informations or contribute on specific stuff, you can ask my help.

NerdyShawn commented 2 years ago

is it circleci thats in use? It looks like docker v20 is in use by default so perhaps just need a config and update to start using buildx https://circleci.com/docs/building-docker-images#docker-version

I was able to configure buildx locally and get a multi-platform image built wth the existing BUILDING.md after a buildx cange. https://github.com/rqlite/rqlite/issues/1050#issuecomment-1255524329

Edit: circleci docs reference, https://github.com/circleci/circleci-docs/issues/6034 Edit Edit: also trying to make a PR if this is the right track for the changes to try and at buildx support, assuming circli(first time using circlci for myself so let me know if something is off.) https://github.com/rqlite/rqlite-docker/pull/13

LuKks commented 7 months ago

docker run rqlite/rqlite

WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
exec /bin/docker-entrypoint.sh: exec format error

I will make a local build but cooler if it was already pushed on Docker Hub so it just works for everyone

https://hub.docker.com/r/rqlite/rqlite/tags (missing ARM builds)

Thanks, looks promising

3goats commented 7 months ago

+1