-
Notifications
You must be signed in to change notification settings - Fork 533
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add apple M1 support #465
Comments
@VA-PLE I think he already mentioned that he is using the preview build of docker for M1. @seoplague Did you get it running? I am looking forward to hear positive news. I am not really into it, what it means to change to Apple Silicon regarding docker4drupal. So, if anyone has news feel free to share it here. |
Same issue with: wodby/drupal-php:7.4-dev-macos-4.21.6 Also being reported on Docker Desktop for Mac (docker/for-mac):
|
@ghalusa Did you try to change the docker-compose file in order to build the container for the right platform? @see https://stackoverflow.com/questions/65456814/docker-apple-silicon-m1-preview-mysql-no-matching-manifest-for-linux-arm64-v8 |
@sensedrive Thank you for the suggestion. I just tried adding
|
Thank you for testing @ghalusa I found another thread about building images for the right platform, which sounds more promising. Unfortunately I cannot test by myself. Maybe you could give it a try again. |
i have the same issue, but i'm not sure its docker4mac but its images in docker4drupal. Image need to be for ARM64, i have change the php / nginx / mariadb image for match with the arm64 and docker4mac build all my container. So maybe need to update the wodby images of apache / mariadb / nginx / cron for compatibility with arm64 ? But all images are based on alpine who support normaly arm64 |
@tregouetkevin I believe this is accurate. After further investigation, I've arrived at the same conclusion. Thanks! |
Just wanted to mention that this still happens on the last preview build of Docker for mac. Tried to work around it this weekend as well by replacing different containers with their original base alpine equivalent, I did get a few containers up and running but didn't succeed in configuring them properly. Kind of sad as this makes my new M1 Macbook Air kind of useless for now. Seeing that @csandanov self-assigned it does make me a little hopeful. |
Yes i have try to do the same but there is a lot of work for configuring every container... i hope too @csandanov ll solve this soon :( |
php (-dev-macos), mariadb and nginx images now have linux/arm64 platform support, please test and let me know how it works |
php:
i have the same error : |
@tregouetkevin are you using the latest edge version of docker for mac? |
@csandanov i use this docker4mac https://ibb.co/yYrFT3Q |
@tregouetkevin ok, looks like the latest preview build and I assume you have rosetta 2 installed. Maybe anything useful under |
@tregouetkevin and just to make sure where's the issue, could you please try running the official php image:
|
Do you want a teamviewer on my mac ? |
|
Same error with mariadb |
Tried again on latest version of Docker For Mac M1 Preview (3.1.0 build 60984) with latest version of master branch of this repo. Same error still. I also installed rosetta2 again. Ran Don't notice anything too crazy in the console.log file. Pasted my file in a gist. (Fresh Docker Install and make up).
Edit: Not trying to be a negative nancy, just sharing my findings. |
I'm having basically the exact same issues as JanLaureys there. |
I am attacking a similar issue as this, after getting a new M1 MBP last week (but using a different set of containers, Amazee Lagoon - a similar themed Drupal-focused stack). I got here after frustratedly searching for the same string The issue is within the container images, and their upstream builds. If you look at the I've embarked on a "recompile the world" quest to get my stack working, and I'll post back here if I have any useful things to share. In the meantime, the best everyone can do is dig in and try and get each part building, piece by piece. If one container doesn't work, find its upstream and try and get that working. If something isn't available for Good luck and go build! 😄 |
I've released fixes for most of the images except mariadb, could you please test it again with M1. I'm testing on aws graviton and it works fine there. Indeed there was an issue with the gotpl but it now has arm64 support, the rest of tools shouldn't be the issue as they're not used in local environment. Since we're using qemu to compile arm64 images it takes a lot of time and for MariaDB it hit a gh actions execution time limit (6 hours), we're trying to offload arm64 builds to self-hosted runners on graviton now. |
@csandanov wow thank a lot that work ! i have try php and it run on my mac m1 |
i have only 2 containers, like you have said mariadb and apache who is down. |
Just released apache fix, arm64 variant was missing |
Apache doesn’t work for me |
@tregouetkevin if you pulled the image before it might already downloaded amd64 image, you should delete it via |
@csandanov yes i remove all image before my make up. |
-dev-macos flag is just for php right ? |
@tregouetkevin , yes macos tags only for php. Could you please share error logs for apache |
Here the logs of apache container
|
@tregouetkevin could you please run the following command and show the output:
also, does it fail if you simply run:
|
docker inspect $(docker images | grep "wodby/apache" | awk '{ print $3 }') -f '{{.Architecture}}' arm64 docker run --rm -ti wodby/apache sh |
apache: |
@tregouetkevin you have two images of apache both for arm64 and amd64, maybe your docker uses amd64 over arm64 for whatever reason, you should delete the one for amd64. Run the following command: docker inspect $(docker images | grep "wodby/apache" | awk '{ print $3 }') -f '{{.Architecture}}{{.ID}}' you should have output like:
Copy ID for |
actually you apache image is old, use |
Oh you right, all is good on apache with the latest version ! thank a lot |
Great work @csandanov! A big thanks from here. Redis and Mariadb are not running Wodby versions, and these seem not to work quite yet as mentioned above. Either way, I got my environment up and running using library versions for these two - the other packages work well. |
Latest tags of mariadb, redis, drupal-php (including non -dev-macos variants) and drupal (vanilla) now all support linux/arm64 |
I can confirm that at least mariadb, redis, drupal-php and nginx packages work now. |
Same for me everything is working, great job @csandanov thank a lot |
Hi I couldn't run a docker4drupal on my mac mini 2020.
I saw the following errors in Docker Preview and a few containers don't start:
runtime: failed to create new OS thread (have 2 already; errno=22) fatal error: newosproc runtime stack: runtime.throw(0x6249a0, 0x9) /home/travis/.gimme/versions/go1.6.linux.amd64/src/runtime/panic.go:530 +0x90 runtime.newosproc(0xc820026000, 0xc820035fc0) /home/travis/.gimme/versions/go1.6.linux.amd64/src/runtime/os1_linux.go:149 +0x18c runtime.newm(0x676240, 0x0) /home/travis/.gimme/versions/go1.6.linux.amd64/src/runtime/proc.go:1513 +0x135 runtime.main.func1() /home/travis/.gimme/versions/go1.6.linux.amd64/src/runtime/proc.go:125 +0x2c runtime.systemstack(0x732c00) /home/travis/.gimme/versions/go1.6.linux.amd64/src/runtime/asm_amd64.s:291 +0x79 runtime.mstart() /home/travis/.gimme/versions/go1.6.linux.amd64/src/runtime/proc.go:1048 goroutine 1 [running]: runtime.systemstack_switch() /home/travis/.gimme/versions/go1.6.linux.amd64/src/runtime/asm_amd64.s:245 fp=0xc820020770 sp=0xc820020768 runtime.main() /home/travis/.gimme/versions/go1.6.linux.amd64/src/runtime/proc.go:126 +0x62 fp=0xc8200207c0 sp=0xc820020770 runtime.goexit()
`7bb04920b06f wodby/nginx:1.19-5.10.11 "/docker-entrypoint.…" About an hour ago Exited (2) 15 seconds ago lam_nginx
16fc6ea2acce wodby/drupal-php:7.4-dev-macos-4.21.3 "/docker-entrypoint.…" About an hour ago Exited (2) 15 seconds ago lam_php
2723a7d1e36e wodby/mariadb:10.5-3.9.7 "/docker-entrypoint.…" About an hour ago Exited (2) 16 seconds ago lam_mariadb
301543dc844a wodby/drupal-php:7.4-dev-macos-4.21.3 "/docker-entrypoint.…" 2 hours ago Exited (2) 15 seconds ago lam_crond
3648339359f1 phpmyadmin/phpmyadmin "/docker-entrypoint.…" 2 hours ago Up 16 seconds 80/tcp lam_pma
1099208ed106 portainer/portainer "/portainer --no-aut…" 2 hours ago Up 19 seconds 9000/tcp lam_portainer
e3c3d534a66b mailhog/mailhog "MailHog" 2 hours ago Up 18 seconds 1025/tcp, 8025/tcp lam_mailhog
f37a77a5c8d1 traefik:v2.0 "/entrypoint.sh --ap…" 2 hours ago Up 18 seconds 0.0.0.0:80->80/tcp lam_traefik`
The text was updated successfully, but these errors were encountered: