Someone with not x86-64 architecture should help with creating and testing images — and they can be included to release cycle.
> On 11 Mar 2022, at 20:22, Jeremy Meyer <jeremy.me...@gridgain.com> wrote: > > Not an answer to your question, but some thoughts.. I have an apple > Silicon M1 mac. While creating the exercises for the PubNub data streaming > demo for the Control Center / Nebula trainings, where we build the image > from docker image "openjdk:11" (previous versions don't work) I discovered > a few, nasty little gotcha's in Docker on M1 including apparent differences > in the way multicast and DNS works (or doesn't work) in the Docker network. > For example, the nodes of my cluster never discovered each other until I > specified an actual server name "docker-ignite-server-node-1:47500..47509" > in > the discoverySPI settings. > > So for M1 it seems that it isn't just the architecture you would need to > test, there are some annoying little differences in implementation. > > Happy to help test after this training deadline has been met, end of this > month. I do need to update the Monitoring tutorial, because right now it > doesn't work on Linux or M1. > > Jeremy. > > On Fri, Mar 11, 2022 at 12:04 PM Stephen Darlington < > stephen.darling...@gridgain.com> wrote: > >> Hi all, >> >> I opened this ticket recently, but think it needs further discussion. >> https://issues.apache.org/jira/browse/IGNITE-16293 < >> https://issues.apache.org/jira/browse/IGNITE-16293> >> >> The motivation for the ticket came from a user request for an image that >> ran natively on an M1 MacBook (70695484 < >> https://stackoverflow.com/questions/70685637/apache-ignite-docker-image-not-compatible-on-apple-m1-max/70695484#70695484>). >> I’m honestly quite surprised that it’s taken this long for anyone to ask! >> I’ve run Ignite on my Raspberry Pi from time-to-time and ARM-based servers >> are also becoming increasingly common. >> >> However, this question led me down a rabbit-hole, resulting in three >> further questions: >> Should we support Docker images with architectures other than x86-64? >> If yes, which ones? >> And how should we support them? >> We currently have images for x86-64 and, for a couple of versions, >> additional images for s390x. So one argument in favour of the first point >> is that we already do! Of course, extra code requires more support and some >> work on the build servers. I think the effort is low but it’s non-zero. >> >> I don’t think we need to go crazy here. I think adding an ARM image would >> open up support for Raspberry Pi’s and Apple Silicon Macs. >> >> Docker also has the ability to cross-compile (working-with-buildx < >> https://docs.docker.com/buildx/working-with-buildx/>) so there’s no need >> for any specialised new hardware. (I’m unsure if this option works for >> s390x?) >> >> Currently, our cross-platform support is achieved just with tags. There is >> a better way where, in addition to the tags, you add a manifest. The >> manifest allows a client to pick the right image automatically. >> (multi-platform-docker-builds < >> https://www.docker.com/blog/multi-platform-docker-builds/>) As an >> example, when I run this on my Raspberry Pi I get the ARMv7 image: >> >> sudo docker run -it --rm --net=host ghcr.io/sdarlington/ignite-arm:2.12.0 >> >> But if I run the same command on an Apple Silicon Mac (I think — I don’t >> have one to test!), it would use the aarch64 image. I built both the ARMv7 >> and aarch64 images on my Intel Mac. >> >> Thoughts? >> >> Regards, >> Stephen