Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

2.1K
Views
Docker (Apple Silicon/M1 Preview) MySQL "no matching manifest for linux/arm64/v8 in the manifest list entries"

I'm running the latest build of the Docker Apple Silicon Preview. I created the tutorial container/images and it works fine. When I went to create a custom YAML file and run docker-compose I get the following error when pulling mysql:

ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries

Here is a snippet from my YAMl file:

version: '3'

services:
  # Database
  db:
    image: mysql-server:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: pass
      MYSQL_DATABASE: wp
      MYSQL_USER: wp
      MYSQL_PASSWORD: wp
    networks:
      - wpsite 

I've tried :latest and :8 which result in the same error. It pulls phpmyadmin and wordpress fine.

over 4 years ago · Santiago Trujillo
12 answers
Answer question

0

Well, technically it will not solve your issue (running MySQL on ARM), but for the time being, you could add platform to your service like:

services:
  db:
    platform: linux/x86_64
    image: mysql:5.7
    ...

Alternatively, consider using MariaDB, which should work as a drop-in replacement like e.g. this:

services:
  db:
    image: mariadb:10.5.8
    ...

Both ways work for me on M1 with the Docker Preview

over 4 years ago · Santiago Trujillo Report

0

I had a similar issue, solved with this line in my dockerfile:

before

FROM ubuntu:18.04

after

FROM --platform=linux/x86_64 ubuntu:18.04
over 4 years ago · Santiago Trujillo Report

0

Please refer to the following link for known issues. In your Mac's terminal run

softwareupdate --install-rosetta

and then in docker-compose have something along the lines of

mysql_gdpr:
    platform: linux/x86_64
    image: mysql/mysql-server:8.0.23
    ports:
      - "3306:3306"
    environment:
      MYSQL_DATABASE: "user_security"
      MYSQL_RANDOM_ROOT_PASSWORD: 1
      MYSQL_USER: "security"
      MYSQL_PASSWORD: "pleasechangeit"
over 4 years ago · Santiago Trujillo Report

0

For anyone struggling to make it work with a specific version, the following didn't work for me:

docker run --platform linux/x86_64 mysql:5.7.26 -e MYSQL_ROOT_PASSWORD=pass

but this did:

 docker run --platform linux/x86_64 mysql:5.7 -e MYSQL_ROOT_PASSWORD=pass
over 4 years ago · Santiago Trujillo Report

0

same problem for m1 mac just run this command

docker pull --platform linux/x86_64 mysql
over 4 years ago · Santiago Trujillo Report

0

From this answer, I added this to my local docker-compose.override.yml

services:

  mysql:
    platform: linux/amd64
    ports:
over 4 years ago · Santiago Trujillo Report

0

Oracle maintains a MySQL 8.0.23 docker image for arm64.
https://hub.docker.com/r/mysql/mysql-server

To use it in your docker-compose file

version: "3.8"
services:
  mysql:
    container_name: mycontainername
    image: mysql/mysql-server:8.0.23
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: mydatabasename
      MYSQL_ROOT_HOST: "%"
    command: --lower_case_table_names=1
over 4 years ago · Santiago Trujillo Report

0

This Github repo allows to build a MySQL 5.7 aarch64 image.

Building it with the following command (naming it the same as the official mysql:5.7 image) it will be used by default by all your docker-compose configurations or Dockerfiles that specify mysql:5.7.

docker build -t mysql:5.7 .

It means that you won't have updates from the official MySQL Dockerhub repo anymore, but as a temporary drop-in replacement I find it useful.

over 4 years ago · Santiago Trujillo Report

0

Docker on its official documentation says:

Not all images are available for ARM64 architecture. You can add --platform linux/amd64 to run an Intel image under emulation. In particular, the mysql image is not available for ARM64. You can work around this issue by using a mariadb image.

(source here)

So what you should do to make your project work is to add platform: linux/amd64 to your docker-compose.yml.

It would look like:

services:
    mysql:
        image: mysql:5.7
        platform: linux/amd64
        ...

As you can imagine probably the performance won't be the same.

over 4 years ago · Santiago Trujillo Report

0

Please note that when using --platform linux/x86_64 on arm64/v8 you may lose Linux Native AIO support.

Check out the docker container logs:

[ERROR] [MY-012585] [InnoDB] Linux Native AIO interface is not supported on this platform. Please check your OS documentation and install appropriate binary of InnoDB.
[Warning] [MY-012654] [InnoDB] Linux Native AIO disabled.

Consider using mysql/mysql-server instead, as it has arm64/v8 support out of the box.

over 4 years ago · Santiago Trujillo Report

0

can try start/run a container (for mac m1)

docker run -d -p 3306:3306 --name mysql --platform linux/x86_64 --env MYSQL_ROOT_PASSWORD=12345 mysql
over 4 years ago · Santiago Trujillo Report

0

Attempts to run x86 containers on M1 machines under emulation can crash. Even when the containers do run correctly under emulation, they will be slower and use more memory than the native equivalent. From here https://docs.docker.com/desktop/mac/apple-silicon/#known-issues

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!