Search code examples
dockerubuntudocker-composearm64ubuntu-22.04

Docker - No matching manifest for linux/arm64/v8 in the manifest list entries - Ubuntu 22.04/arm64/v8


I have installed Docker and docker compose and tested it and i got the “Hello World” message, so everything works fine

After that i tried to install a Node.js backend, but idk why i keep getting this error message

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

i have a VPS server, 4 CPU, 24 RAM, running Ubuntu 22.04, ARM64 Idk what is the problem and what shall i do to fix it!

Someone in the docker community said:

That image does not have a compatible version with your CPU. You can try to use QEMU to emulate it.

https://www.stereolabs.com/docs/docker/building-arm-container-on-x86/

sudo apt-get install qemu binfmt-support qemu-user-static
docker run --platform linux/amd64 ...

This way you can use the AMD64 version, but the emulation is not always perfect, and it may be slower then running a container from a compatible image.

I installed the qemu, but still don't know what shall i do to fix the no matching manifest issue!

note: i'm not familiar with docker stuff, just trying to install the Node.js backend website because it's requiring docker.

I hope if someone can help, Thanks!


Solution

  • Ok .. here is the solution

    open your docker-compose.yml, if you're using nano then

    nano docker-compose.yml
    

    Now add the following:

    platform: linux/amd64
    

    for each MyService

    Example:

    services:
       myservice:
          platform: linux/amd64
       myotherservice:
          platform: linux/amd64
    

    then you can run:

    docker compose up -d
    

    This works 100% for me, and big thanks to Ákos Takács for his help.