We need to run Exasol locally on M1 machines to support the local testing. However docker image does not start on Exasol.
Docker image used – https://github.com/exasol/docker-db/
Do we have any other workaround for this?
Tried using –platform flag already.
Tried building the original dockerfile using buildx on mac, but that also throws error.
The error –
[+] Building 3.1s (4/4) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 32B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 34B 0.0s
=> ERROR [internal] load metadata for docker.io/library/centos:7.5.1804 3.0s
=> [auth] library/centos:pull token for registry-1.docker.io 0.0s
------
> [internal] load metadata for docker.io/library/centos:7.5.1804:
------
error: failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to create LLB definition: no match for platform in manifest sha256:7a45e4a1efbaafc1d9aa89925b6fdb33288a96d35ea0581412316e2f0ad3720a: not found
2
Answers
Exasol does not officially support running its Docker image on Apple’s M1 architecture. The error message shows that the system is not able to find a platform match for the image. As of now the Exasol docker image you’re trying to run is built for x86_64 architecture.
An open issue is already registered here.
You can try running in a VMware or you need an Intel system to run.
Yes, Exasol does not officially support running its Docker image on Apple’s M1 architecture. So no warranty at all.
The following steps worked once. Not sure if they will be helpful for a docker installation.
Downloaded the Exasol Community Edition OVA
EXASOL-Single-Node-7.1.4.ova
Extracted the files to expose the virtual machine disk
EXASolo-7.1.4-disk1.vmdk
using the TAR command in terminaltar -xvf EXASOL-Single-Node-7.1.4.ova
Converted the virtual machine disk from VMDK to QCOW2 format using qemu-img (note: I installed qemu via brew to have access to this command but I think other options are available)
qemu-img convert -O qcow2 EXASolo-7.1.4-disk1.vmdk EXASolo-7.1.4-disk1.qcow2
Setup the UTM configuration as:
System
Drives
EXASolo-7.1.4-disk1.qcow2
Start up the Virtual Machine in UTM and you should get a boot option for
CentOS Linux
, press enter and then it will start the boot process for the OSWait and you should see the familiar blue screen, this will show as "Initializing… Automatic refresh in 5 seconds" (this took about 5 minutes for me but your configuration could be different).
This is followed by "EXASolution will start soon… Automatic refresh in 5 seconds" continue to wait for the database to be operational (again this could take another 5-10 minutes, be patient as I had to learn!).
Finally you should see the configuration screen with details to connect to the Exasol database and EXAOperation confirming its ready to be used, woohoo!