$ uname -a
Linux <hostname> 5.4.0-1066-raspi #76-Ubuntu SMP PREEMPT Mon Jun 27 11:02:52 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
$ docker run --detach \
> --volume=/var/run/docker.sock:/var/run/docker.sock \
> --env=... \
> --restart=always \
> --name=runner \
> --platform=arm64 \
> drone/drone-runner-docker:1-linux-arm
Unable to find image 'drone/drone-runner-docker:1-linux-arm' locally
1-linux-arm: Pulling from drone/drone-runner-docker
Digest: sha256:f16bd359639df05683a3802c8c0cc27965084f06d5a76f9851381c46c7916e05
Status: Image is up to date for drone/drone-runner-docker:1-linux-arm
docker: Error response from daemon: image with reference drone/drone-runner-docker:1-linux-arm was found but does not match the specified platform: wanted linux/arm64, actual: linux/amd64.
See 'docker run --help'.
Doesn’t work when you include the --platform flag, but it does if you exclude it. thanks for your help!
For anyone else who might find this issue, here’s my final run script that got it working:
$ docker run --detach \
> --volume=/var/run/docker.sock:/var/run/docker.sock \
> --env=DRONE_RPC_PROTO=https \
> --env=DRONE_RPC_HOST=... \
> --env=DRONE_RPC_SECRET=... \
> --env=DRONE_RUNNER_CAPACITY=2 \
> --env=DRONE_RUNNER_NAME=linux-arm64 \
> --restart=always \
> --name=runner \
> drone/drone-runner-docker:1-linux-arm
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
b1efdef6717c2d67c6ac0070a5940bcde51a4099a349403fb53a98aeafc44a83
Get a warning, but it seems to be working.
That said, I’d like to run this in docker swarm as a service… I can try using one of the arm specific tags as well, but I’m not sure this will work in swarm. I can live without that for now though! Thanks