databricksConnectDocker icon indicating copy to clipboard operation
databricksConnectDocker copied to clipboard

Add support for ARM64 in Dockerfile

Open augusten opened this issue 2 years ago • 3 comments

This change comes due to this issue, as currently the image is not performant for ARM64 platform

The change allows to pass arguments of what Conda and Tini versions to install. The default args remain the same, but we can pass the following two to buld properly for ARM64: CONDA_ARCH=aarch64 TINI_ARCH=tini-arm64

augusten avatar Dec 12 '22 10:12 augusten

If I see this correctly, except the errors here (do you have an idea why it is failing?), you replace the image completely with the ARM one? I would suggest building both, an ARM and non-ARM version. For this, it can be a parameter passed to the dockerfile. I would expect in the end to have e.g. 9.1.14 ARM and non-ARM, 10.4.6 ARM and non-ARM images... Does it make sense?

alexeyegorov avatar Dec 13 '22 14:12 alexeyegorov

and please, rebase the history, when this is done. 👍

alexeyegorov avatar Dec 13 '22 14:12 alexeyegorov

I want to add a pipeline stage to build an ARM image, but leave AMD as default in the pipeline that runs during the PR validation, but it seems the ubuntu-latest VM cannot build ARM images in DevOps Azure Pipelines

I tried a few variations to build with --platform linux/arm64/v8 and base image specifically as arm64v8/openjdk:8-jdk, but it is failing all the time, I attached a few images below for context, too

It seems there is no way to build ARM with an architecture that is AMD underneath. Based on this issue, it looks like there is currently no DevOps agent that would support ARM easily

Screenshot 2022-12-14 at 21 14 17 Screenshot 2022-12-14 at 21 13 33

augusten avatar Dec 14 '22 21:12 augusten