Support ARM-based M1 Macs to run Amundsen in Docker
See original GitHub issueExpected Behavior or Use Case
It should be possible to run Amundsen locally on M1 Mac computers. Currently, errors are thrown regarding the ARM-based architecture.
Possible Implementation
We could make an ARM-specific docker-compose.yml
file, or we could conditionally load arm64 images depending on the platform of the host machine:
if [[ $(uname -m) == 'arm64' && $(uname) == 'Darwin' ]]; then
...
fi
I was able to get docker-amundsen.yml
to work with the following change:
@@ -2,6 +2,7 @@ version: '3'
services:
neo4j:
image: neo4j:3.5.26
+ platform: linux/amd64
container_name: neo4j_amundsen
environment:
- NEO4J_AUTH=neo4j/test
Example Screenshots (if appropriate):
Context
> docker-compose -f docker-amundsen.yml up
Pulling neo4j (neo4j:3.5.26)...
3.5.26: Pulling from library/neo4j
ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries
> docker-compose -f docker-amundsen-atlas.yml up
...
Pulling elasticsearch (elasticsearch:6.8.13)...
6.8.13: Pulling from library/elasticsearch
ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries
> uname -a
Darwin cpadden-m01 21.4.0 Darwin Kernel Version 21.4.0: Fri Mar 18 00:46:32 PDT 2022; root:xnu-8020.101.4~15/RELEASE_ARM64_T6000 arm64
EDIT: additionally, it appears there may be a compatibility issue with the fsevents dependency in docker-amundsen-atlas.yml
.
#15 64.90 Build failed with error code: 1
#15 66.00 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/chokidar/node_modules/fsevents):
#15 66.00 npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"})
#15 66.00 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.3 (node_modules/fsevents):
#15 66.00 npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"})
#15 66.00
#15 66.01 npm ERR! code ELIFECYCLE
#15 66.02 npm ERR! errno 1
#15 66.02 npm ERR! node-sass@5.0.0 postinstall: `node scripts/build.js`
#15 66.02 npm ERR! Exit status 1
#15 66.02 npm ERR!
#15 66.02 npm ERR! Failed at the node-sass@5.0.0 postinstall script.
Issue Analytics
- State:
- Created a year ago
- Reactions:1
- Comments:8
Top Results From Across the Web
Run x86 (Intel) and ARM based images on Apple Silicon (M1 ...
Run x86 (Intel) and ARM based images on Apple Silicon (M1) Macs? ... You can run ARM or Intel Docker containers on the...
Read more >Quick Start - Amundsen
Make sure you have at least 3GB available to docker. Install docker and docker-compose . · Clone this repo and its submodules by...
Read more >Building amd64 Docker images with arm64 (M1) macOS
Imagine you've got a new Macbook with an ARM-based processor (Apple M1), and you're trying to build a collection of services defined in...
Read more >What are microservices?
The pattern language enables you to use the microservice architecture successfully. ... Docker image that runs on an Arm-based Apple M1 MacBook.
Read more >Amundsen Set Up Tutorial: A Step-By-Step Installation Guide
To install Amundsen, you would need the following: A local instance or a cloud VM (for instance, on AWS, Google Cloud, or Azure)...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
I was also facing the same issue with M1 Mac.
Screenshot of error:
But after adding
platform: linux/amd64
indocker-compose.yml
file, it got fixed.Then I faced another issue:
Screenshot of error:
This was apparently due to the new AirPlay functionality. Control Center stops listening to those ports when I turned off “AirPlay Receiver” in the “Sharing” System Preference.
Screenshot of solution:
Now everything is workingfine.
I am wondering, why apple choose such a popular port.
I’ve not heard back from anyone on this issue, so that may be the case.