studio
studio copied to clipboard
Support arm64 architecture in docker image
Reason/Context
- Why we need this improvement?
Currently the docker image fails to start in a machine with arm64
architecture (e.g. Macs with ARM processors). Even though docker supports virtualization, the nginx
for amd64
architectures fails to start:
docker run -it -p 8000:80 asyncapi/studio
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/set-public-url.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2022/09/05 21:18:43 [notice] 1#1: using the "epoll" event method
2022/09/05 21:18:43 [notice] 1#1: nginx/1.21.5
2022/09/05 21:18:43 [notice] 1#1: built by gcc 10.3.1 20211027 (Alpine 10.3.1_git20211027)
2022/09/05 21:18:43 [notice] 1#1: OS: Linux 5.10.104-linuxkit
2022/09/05 21:18:43 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2022/09/05 21:18:43 [notice] 1#1: start worker processes
2022/09/05 21:18:43 [notice] 1#1: start worker process 89
2022/09/05 21:18:43 [notice] 1#1: start worker process 91
2022/09/05 21:18:43 [notice] 1#1: start worker process 93
2022/09/05 21:18:43 [notice] 1#1: start worker process 94
2022/09/05 21:18:43 [notice] 1#1: start worker process 96
2022/09/05 21:18:43 [notice] 1#1: start worker process 97
2022/09/05 21:18:43 [emerg] 89#89: io_setup() failed (38: Function not implemented)
2022/09/05 21:18:43 [emerg] 91#91: io_setup() failed (38: Function not implemented)
2022/09/05 21:18:43 [emerg] 94#94: io_setup() failed (38: Function not implemented)
2022/09/05 21:18:43 [emerg] 97#97: io_setup() failed (38: Function not implemented)
2022/09/05 21:18:43 [emerg] 93#93: io_setup() failed (38: Function not implemented)
2022/09/05 21:18:43 [emerg] 96#96: io_setup() failed (38: Function not implemented)
Description
In order to support the arm64
architecture, no code changes are required. Only changes to the build automation so that the docker image is also built for that architecture, since the base images used in the Dockerfile
already have builds for arm64
widely available.
I will submit a pull request with proposed changes.
Welcome to AsyncAPI. Thanks a lot for reporting your first issue. Please check out our contributors guide and the instructions about a basic recommended setup useful for opening a pull request.
Keep in mind there are also other channels you can use to interact with AsyncAPI community. For more details check out this issue.
This issue has been automatically marked as stale because it has not had recent activity :sleeping:
It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.
There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.
Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.
Thank you for your patience :heart:
This issue has been automatically marked as stale because it has not had recent activity :sleeping:
It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.
There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.
Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.
Thank you for your patience :heart: