zammad-docker
zammad-docker copied to clipboard
missing image version for arm64/v8 (Apple Silicon M1)
Hi, I've just tried to run the pre-built docker image for Zammad from docker hub on my MacBook Pro with the Apple Silicon M1 chip which resulted in an error during the startup of Elasticsearch. After some research I found out that the Zammad docker image is only available for the amd64 architecture, not for arm64/v8. Would it be possible to publish the image for both architectures? The required components like Elasticserach already exist in a arm64 version so after cloning this repo and building the docker image locally on the M1 chip I managed to start Zammad in a docker container. This should also be possible on the CI pipeline and would make it easier for M1 users to run Zammad on their machines.
Infos:
- Docker version: 20.10.7, build f0df350
- Operating system (Docker host): macOS Big Sur v11.4
Expected behavior:
- Zammad should start as a docker container when running
docker container run -ti --rm --name zammad -p 80:80 zammad/zammad
Actual behavior:
- The container startup fails with the following error:
[....] Starting Elasticsearch Server:Exception in thread "main" java.io.IOException: Cannot run program "/usr/share/elasticsearch/jdk/bin/java": error=0, Failed to exec spawn helper: pid: 394, exit value: 1
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1142)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
at org.elasticsearch.tools.launchers.JvmErgonomics.flagsFinal(JvmErgonomics.java:114)
at org.elasticsearch.tools.launchers.JvmErgonomics.finalJvmOptions(JvmErgonomics.java:88)
at org.elasticsearch.tools.launchers.JvmErgonomics.choose(JvmErgonomics.java:59)
at org.elasticsearch.tools.launchers.JvmOptionsParser.jvmOptions(JvmOptionsParser.java:137)
at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:95)
Caused by: java.io.IOException: error=0, Failed to exec spawn helper: pid: 394, exit value: 1
at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:313)
at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:244)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1109)
... 6 more
failed!
Steps to reproduce the behavior:
- run
docker container run -ti --rm --name zammad -p 80:80 zammad/zammadon a ARM-based MacBook (with Apple Silicon M1 chip) - temporarily solve the problem by cloning this repo and building the docker image locally
Sorry, but this seems to be a technical question. Please note that this repository is the wrong place for technical questions. Instead, please refer the Zammad community over at: https://community.zammad.org .
In case this turns out the be a bug and no technical question, we'll transfer the relevant information to this repo!
If you require commercial grade support and are no hosted or support contract customer, you can check out our support contracts here: https://zammad.com/pricing#selfhosted If you're paying customer already, please consult your Zammad support for assistance! :-)
@MrGeneration this is the same issue as https://github.com/zammad/zammad-docker-compose/issues/218.
Oh noez. I stumbled into the wrong repo. So sorry... :(
Hi @festplatte. I tried to make some progress here with a new branch of Zammad that does use docker buildx build to build the zammad-docker image for linux/arm64 within Github Actions, as that's our toolchain. It works ok until trying to start Elasticsearch, when it fails with the same error message (spawnHelper).
I didn't see this issue when building (natively) on my local M1 system.
Would you have any recommendation how to proceed?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.