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

Reply via email to