Different CPU Architecture and images

Hi, I’m a novice in Docker and I experimented some images on a RaspberryPi 4 and other images on my laptop. I noticed that there are images for ARM and others for Intel architectures in Docker Hub. Could anyone explain to me how they differ? Why it is necessary to build an image for different architecture?
Thank you for the help!

Hello rebdiluca,

Docker is a virtualization engine. Therefore, it has to make sure that each environment type can be served seamlessly the easy way. Docker pulls an image corresponding to the architecture(arm, x86_64) of the machine it is running on. So, docker will be able to leverage multi-CPU architecture in order to cover a large group of device types.

Best Regards,
Fouscou B.

Thank you fouscou,

what about when we don’t have a particular image suitable for ARM but only for Intel? Is there any way to “rebuild” the existing image in order to obtain ARM-compatibility?