Эта ошибка возникает при использовании Laravel Sail на компьютерах Mac с чипом Apple M1. Файл docker-compose, предоставляемый Laravel Sail, по умолчанию использует MySQL. В соответствии с настройками файл docker-compose пытается использовать неизвестную версию MySQL (linux/arm64/v8). Это не удается с сообщением об ошибке выше.
Это можно решить, открыв файл docker-compose.yml в корневой папке проекта Laravel, выполнив поиск в разделе с именем mysql и добавив следующее ниже строки image:
.
platform: 'linux/amd64'
Добавление этой строки запустит образ Intel в режиме эмуляции на Mac M1. Вы можете прочитать некоторую справочную информацию об этом в официальном документе Docker об Apple Silicon и здесь< /а>.
Если это возможно для вашего варианта использования, это также можно решить, переключив образ на MariaDB вместо MySQL. MariaDB в основном бинарно совместим с MySQL. Использование MariaDB может быть лучшим вариантом, если это возможно, потому что, как указано в документе Docker
Попытки запустить контейнеры на базе Intel на машинах Apple Silicon в режиме эмуляции могут привести к сбою, поскольку qemu иногда не может запустить контейнер.
Использование контейнера MySQL в эмуляции на M1 Mac может вызвать такие проблемы, как ошибка сегментации при запуске Sail — на самом деле я видел эту проблему в одном случае. Переход на MariaDB решил эту проблему. Вы можете переключить Laravel Sail на MariaDB вместо MySQL, изменив строку image:
для службы mysql в файле docker-compose.yml на:
image: 'mariadb'
person
SnapShot
schedule
12.06.2021