[BUG] Docker-Compose shenyu services image not support arm64(Raspberry Pi 4 Model B) architecture
See original GitHub issueIs there an existing issue for this?
- I have searched the existing issues
Current Behavior
Docker-Compose file:
shenyu-admin Docker file:
master/shenyu-dist/shenyu-admin-dist/Dockerfile
shenyu-bootstrap Docker file:
master/shenyu-dist/shenyu-bootstrap-dist/Dockerfile
I noticed that shenyu-admin and shenyu-bootstrap are both built on the openjdk:8-jre-alpine image, but this image does not support the arm64 CPU architecture of the Raspberry Pi 4 Model B, which prevents the shenyu services from running successfully.
The openjdk:8-jre-alpine image does not support the arm64 CPU architecture:

Expected Behavior
Make it work, thanks.
Steps To Reproduce
An error occurs after executing the following command:
curl https://raw.githubusercontent.com/apache/incubator-shenyu/master/shenyu-dist/shenyu-docker-compose-dist/src/main/resources/install.sh | bash -s master mysql
Environment
ShenYu version(s): 2.4.2
Debug logs
ubuntu@ubuntu:~/apache-shenyu/shenyu-master$ docker-compose ps
Name Command State Ports
-----------------------------------------------------------------------------------------------------------
db /usr/local/bin/docker-entr ... Up (healthy) 0.0.0.0:3310->3306/tcp,:::3310->3306/tcp
shenyu-admin /bin/sh entrypoint.sh Exit 1
shenyu-bootstrap /bin/sh entrypoint.sh Exit 1
ubuntu@ubuntu:~/apache-shenyu/shenyu-master$ docker-compose logs -f shenyu-admin
Attaching to shenyu-admin
shenyu-admin | standard_init_linux.go:228: exec user process caused: exec format error
shenyu-admin | standard_init_linux.go:228: exec user process caused: exec format error
shenyu-admin exited with code 1
ubuntu@ubuntu:~/apache-shenyu/shenyu-master$ docker-compose logs -f shenyu-bootstrap
Attaching to shenyu-bootstrap
shenyu-bootstrap | standard_init_linux.go:228: exec user process caused: exec format error
shenyu-bootstrap | standard_init_linux.go:228: exec user process caused: exec format error
shenyu-bootstrap exited with code 1
Anything else?
Using the arm64v8/openjdk:8-jre image in our project can run successfully(I’m actually using arm64v8/openjdk:8 😂).
Issue Analytics
- State:
- Created a year ago
- Comments:13 (7 by maintainers)
Top Results From Across the Web
[BUG] Docker-Compose shenyu services image not support ...
[BUG] Docker-Compose shenyu services image not support arm64(Raspberry Pi 4 Model B) architecture #3166. Open. 1 task done.
Read more >Raspberry Pi 4 - Docker: no matching manifest for linux/arm/v7 ...
I've installed docker on my stock Raspberry Pi 4 OS and I am attempting to ... it seems ktranslate may not be available...
Read more >Docker and Docker Compose on Raspberry Pi OS
How to install Docker on RPi 2, 3 and 4 with the new Raspberry Pi OS, for 32 and 64-bit.
Read more >Install Docker-Compose on Raspberry Pi - JFrog Connect
In this tutorial, we show you the steps to follow to install Docker Compose on Raspberry Pi. Continue reading for more elaboration.
Read more >ARM64 Support - LocalStack Docs
Using AMD64 Lambda functions and binaries on ARM64. If you want to execute Docker Lambda functions or binaries which have not been built...
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

Hi @myesn , I reproduced your problem locally 😃
I find that the base image you used
openjdk:8u322-jrewill make the env of spring invalid.There may be no problem in the dockerfile, and it is recommended not to modify it. I read the log of your shenyu-bootstrap, that is probably because shenyu-admin failed to start successfully, not because of the image problem of openjdk.
@JooKS-me Thank you very much for your reply, I have compiled the following information for your reference.
All of the following steps are performed on the
Raspberry Pi:1. Download and extract v2.4.2 Souce code(tar.gz) 2. Open and edit the contents of
incubator-shenyu-2.4.2/shenyu-dist/shenyu-admin-dist/Dockerfileandincubator-shenyu-2.4.2/shenyu-dist/shenyu-bootstrap-dist/Dockerfilefiles:changes
3. Switch to the
incubator-shenyu-2.4.2/shenyu-distdirectory and execute the following command (Total time 10:51 min):Although the following warning appears during the build process, the final result is
BUILD SUCCESS:warning logs
docker images output
4. Execute the following command to download the
v2.4.2 install.shfile (auto-execute), the script will create ashenyu-v2.4.2directory, since the database does not supportarm64architecture, this script will terminate when it outputsPulling db(docker.io/mysql:5.7):5. Open the
shenyu-v2.4.2/docker-compose.yamlfile and modify the following:changes
docker-compose.yaml
6. Execute
docker-compose up -dcommand to start the service collection, all3services are created and started successfully, then executedocker-compose logs -f shenyu-adminto view the logs:shenyu-admin logs
From the logs, we can see that the
shenyu-adminprogram is using theh2profile, but theenvironmentvariable configured indocker-compose.yamlismysql.So I went inside the
shenyu-admincontainer to check the environment variables and found no problems:shenyu-admin environment variables inside the container
7. So I opened the
docker-compose.yamlfile and replacedspring.profiles.active=mysqlwithSPRING_PROFILES_ACTIVE=mysqlin theenvironmentof theshenyu-adminservice:docker-compose.yaml
8. Execute
docker-compose down -v(for a clearer view of the logs), then executedocker-compose up -dagain, wait for a successful start and then executedocker-compose logs -f shenyu-adminto view the logs:shenyu-admin logs
From the output log, we can see that
active profileis already correctly configured formysql, but there is aCommunications link failureerror, which causes the program to run abnormally.That’s all the steps and the process.