I have a docker image that contains all ARM binaries, except for a statically-linked x86 QEMU executable. It was specifically designed for doing ARM builds while on x86 hardware.
The base image is show0k/miniconda-armv7. Since I don't use Conda, but do need Python, I then build atop it with this Dockerfile:
FROM show0k/miniconda-armv7
MAINTAINER savanni@cloudcity.io
RUN [ "cross-build-start" ]
RUN apt-get update
RUN apt-get -y upgrade
RUN apt-get -y install python3 python3-pip python3-venv ssh git iputils-ping
RUN [ "cross-build-end" ]
I can start this image perfectly on my machine and even run the build commands.
But, when I go to Circle, my container either gets hung up in a queue after "Spin up Environment", or I end frequently with this error message:
Unexpected preparation error: Error response from daemon: Container d366de1282a32a79bca5265a8a97f573c8949f2838be231abcd234e5694d8d0b is not running (where the container ID is different every time)
This is my Circle configuration file:
---
version: 2
jobs:
build:
docker:
- image: savannidgerinel/arm-python:latest
working_directory: ~/repo
steps:
- run:
name: test the image
command: /bin/uname -a