1

Situation: Looking to deploy Docker app on an ODROID XU4 (octa-core arm32).

Problem: High likelihood that Docker image is in x86_64.

Question: Is it possible to run the x86_64 Docker image on an arm32 computer? If so, are there any configurations that need to be done (e.g. Qemu)?

migrated from softwareengineering.stackexchange.com Aug 9 at 2:18

This question came from our site for professionals, academics, and students working within the systems development life cycle.

0

Containers are not virtual machines, they are normal Linux processes with additional security measures. Container images are (conceptually) little more than a ZIP archive that can be mounted as a file system.

If you want to run the x86-64 software in a container image, you need to run this in a x86-64 Linux system. If you have a different host system, you will need a virtual machine. Your thought about using Qemu is good since that lets you emulate a different CPU architecture.

What you are trying to do may be possible, but it is non-trivial.

  • Try to stick to ARM images. They do exist. If in doubt, build them yourself.
  • Very recently (Q2 2019), some Docker versions have started to integrate built-in Qemu emulation which may help with building ARM containers. You will have to install the docker buildx command separately. While the use case is primarily building ARM images on x86, you should be able to also use it the other way around.
  • But if I Qemu an x86_64 on arm32 I'm sort of asking for trouble right? – Timothy Wong Aug 9 at 11:34
  • @TimothyWong Yes, what you're trying to do does seem slightly insane – but not fundamentally impossible. Still, it would be easier to just stick to arm images, building them yourself if necessary. There are still tens of thousands of arm images on DockerHub. – amon Aug 9 at 12:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.