Getting this error while trying to build redis timeseries container on ARM
# docker build -t shantanuo/redistimeseries .
Sending build context to Docker daemon 32.75MB
Step 1/19 : ARG REDIS_VER=6.0.9
Step 2/19 : ARG OSNICK=bionic
Step 3/19 : ARG ARCH=arm64v8
Step 4/19 : FROM redisfab/redis:${REDIS_VER}-${ARCH}-${OSNICK} AS builder
---> 1b5e0f2c1672
Step 5/19 : ARG REDIS_VER
---> Using cache
---> f9d3227c2bb0
Step 6/19 : ADD ./ /build
---> Using cache
---> 371c631e8952
Step 7/19 : WORKDIR /build
---> Using cache
---> eeadd76e1639
Step 8/19 : RUN ./deps/readies/bin/getpy3
---> Running in bea45f18f407
/bin/sh: 1: ./deps/readies/bin/getpy3: not found
The command '/bin/sh -c ./deps/readies/bin/getpy3' returned a non-zero code: 127
I have changed the variables ARCH and OSNICK in step 2 and 3
I got the dockerfile from this location:
https://hub.docker.com/r/redislabs/redistimeseries/dockerfile
Is there any easy way to build images for ARM?
2
Answers
Did you clone https://github.com/RedisTimeSeries/RedisTimeSeries to the directory your dockerfile is in? Step 6 is copying the getpy3 file (and others) into the image, and step 8 (fails) is attempting to run it.
Host side, you’re missing
$PWD/deps/readies/bin/getpy3
.Their github seems to also have an arm flavored dockerfile: https://github.com/RedisTimeSeries/RedisTimeSeries/blob/master/Dockerfile.arm
Did you clone the repository recursively?
It seems that bin/getpy3 is actually included in deps/readies as a git submodule (see here).
You thus might need to update the submodules. You might want to try to initialize the submodule and retry the build 🙂