Skip to content

Apple Silicon support

Derschatta edited this page Sep 3, 2023 · 2 revisions

Multiarch images (experimental)

Docker dev should work mostly out of the box on Macs with Apple Silicon (ARM).

There are some prebuilt images available with arm64 support which are preferred over the standard images as they'll be more performant.

Please note that these images are not automatically built. There's a chance they are not 100% up-to-date.

To make use of those create a file arm.yml in the custom folder of your docker dev directory with the following contents:

version: "3.7"
services:

  mysql:
    image: biarms/mysql:5.7.30

  apache:
    image: totara/docker-dev-apache:multiarch

  nginx:
    image: totara/docker-dev-nginx:multiarch

  php-7.3:
    image: totara/docker-dev-php73:multiarch

  php-7.3-cron:
    image: totara/docker-dev-php73-cron:multiarch

  php-7.3-debug:
    image: totara/docker-dev-php73-debug:multiarch

  php-7.4:
    image: totara/docker-dev-php74:multiarch

  php-7.4-cron:
    image: totara/docker-dev-php74-cron:multiarch

  php-7.4-debug:
    image: totara/docker-dev-php74-debug:multiarch
    
  php-8.0:
    image: totara/docker-dev-php80:multiarch

  php-8.0-cron:
    image: totara/docker-dev-php80-cron:multiarch

  php-8.0-debug:
    image: totara/docker-dev-php80-debug:multiarch
    
  php-8.1:
    image: totara/docker-dev-php81:multiarch

  php-8.1-cron:
    image: totara/docker-dev-php81-cron:multiarch

  php-8.1-debug:
    image: totara/docker-dev-php81-debug:multiarch
    
  selenium-hub:
    image: seleniarm/hub:4.5.3-20221025

  selenium-chrome:
    image: seleniarm/node-chrome:106.0

  selenium-chrome-debug:
    image: seleniarm/standalone-chromium:106.0

Then just tup your containers as usual.

Known issues

Mssql 2017 and 2019 do not support the ARM architecture, same with the official MySQL 5.7 image. You can however use the unofficial image listed in the yml file above but please be aware that it's an older version of 5.7.

Currently Docker hub does not support building for multiple architecture. The images need to be built by hand and pushed up manually.

At least for every release we'll push up new images but if you want the latest versions you'd have to build it locally yourself.

Build images

To build the images follow these instructions: https://medium.com/geekculture/docker-build-with-mac-m1-d668c802ab96