"Preparation failed: no such image" error message doesn't tell what image exactly is missing
I run gitlab-ci-multi-runner locally to test my .gitlab-ci.yml in-place, which is like 100x faster than waiting for GitLab.com CI to run it.
nowaker@nwkr-laptop ~/projekty/virtkick/starter/webapp (git)-[master] % BUCKET=`basename $(pwd)`; systemctl --user start minio; systemctl --user start gemstash; mkdir -p ~/projekty/cache/minio-amazon-s3/"$BUCKET"; gitlab-ci-multi-runner exec docker --docker-pull-policy never --cache-type s3 --cache-s3-access-key 12345 --cache-s3-secret-key 12345678 --cache-s3-insecure --cache-s3-server-address 172.17.0.1:9005 --cache-s3-bucket-name="$BUCKET" --cache-s3-bucket-location us-east-1 --env RUBYGEMS_URL=http://172.17.0.1:9292/ --env VIRTKICK_REDIS_SOCKET=redis://172.17.0.1:6379/1 --env JSPM_GITHUB_AUTH_TOKEN="$(cat ~/projekty/virtkick/.keys/jspm.token)" --env SSH_DEPLOY_KEY="$(cat ~/projekty/virtkick/.keys/deploy.key)" virtkick_spec
Running with gitlab-ci-multi-runner dev (HEAD)
Using Docker executor with image ruby:2.3.3 ...
ERROR: Preparation failed: no such image
Will be retried in 3s ...
This error message suggests it's ruby:2.3.3 that's missing but that's not a case - ruby:2.3.3 is present.
nowaker@nwkr-laptop ~/projekty/virtkick/starter/webapp (git)-[master] % docker run -it ruby:2.3.3 /bin/bash
root@08feb6e7f2e2:/#
What gitlab-ci-multi-runner doesn't tell us is it's trying to start containers for services, as defined in .gitlab-ci.yml:
virtkick_spec:
<<: *ruby
services:
- postgres:9.4
- redis
These were missing - not ruby:2.3.3.
Expected behavior
gitlab-ci-multi-runner should be specific as to which image is missing.
Used GitLab Runner version
nowaker@nwkr-laptop ~ % gitlab-ci-multi-runner --version
Version: dev
Git revision: HEAD
Git branch: HEAD
GO version: go1.7.4
Built: Sat, 07 Jan 2017 23:31:53 -0600
OS/Arch: linux/amd64