[need help reproducing] platform mismatch for docker images
#139 opened on Nov 2, 2024
Repository metrics
- Stars
- (3,083 stars)
- PR merge metrics
- (PR metrics pending)
Description
TL;DR
- We need your help investigating these issues and identifying the way forward.
- We need your help reproducing this issue in other ARM environments.
Issue
When pulling docker images on an Apple Silicon Mac, we get
The requested image's platform (linux/amd64) does not match the detected host platform
(linux/arm64/v8) and no specific platform was requested
for all images built from this repo, i.e. app-server, frontend, semantic-search-service, and python-executor.
This is just a warning, and it is not blocking.
Cause
This is because our actions in .github/workflows are run on ubuntu-latest, which is amd64, and so images are built for amd64.
Attempts at mitigating
- We tried running actions on macos-latest and build for
arm64/v8instead, but that would actually not run on x86 machines – which is clearly worse than just a warning on Mac. - We tried running
docker buildx, but (1) it won't run on macOS; see https://github.com/actions/runner-images/issues/2150#issuecomment-737125967; (2) it is extremely slow - We tried reading about Colima that is mentioned in the above (https://github.com/actions/runner-images/issues/6216), but it is not available on GitHub actions since MacOS 13 and will not be, nor will any other containerization tool: https://github.com/actions/runner-images/issues/10079#issuecomment-2174007727
Possible ways forward
?? We don't know, looking for your help! If you have experience running docker build actions on github to build for both amd64 and arm64, please share your experience!
Help wanted reproducing in different environments
We also need help verifying if our images work on arm64 machines, that are non-MacOS. So if you have either of the setups below, and can try running our docker compose there, we'd really appreciate your feedback!
You will need to
- clone the repo:
git clone https://github.com/lmnr-ai/lmnr - run
docker compose up(WITHOUT the-dflag). - Look out for warnings after container creation, but before the first logs from containers.
- Report the results
- whether the dockers actually spin up
- whether there are warnings in logs. Please attach the full docker startup logs as text or screenshot
Setups that we are interested in:
- AWS Graviton EC2 instance* with ubuntu
- AWS Graviton EC2 instance* with Amazon Linux
- A Windows-on-ARM laptop, most likely on a Snapdragon X (Elite) with or without WSL
- Linux on a windows-on-ARM** laptop, most likely on a Snapdragon X (Elite)
- Any other ARM non-MacOS machine
* instance type name must end with a g, like m7g.large
** I'm personally interested in your experience, so shoot me a Discord message