i am running the following docker file in a gitlab runner
FROM alpine:3.18 as alpine
RUN ...
and here is my pipeline
image: gitlab/dind
services:
- docker:dind
stages:
- init
- build
init:
stage: init
script:
git clone MY_REPO
artifacts:
paths:
- cicdtest
build:
stage: build
script:
- docker build -t registry.gitlab.com/mytest cicdtest/. --no-cache
My pipeline fails with this error
Step 1 : FROM alpine:3.18 as alpine
Error parsing reference: "alpine:3.6 as alpine" is not a valid repository/tag
I modified my dockerfile to first pull the image as follows:
image: gitlab/dind
services:
- docker:dind
stages:
- init
- build
init:
stage: init
script:
git clone MY_REPO
artifacts:
paths:
- cicdtest
build:
stage: build
script:
- docker pull alpine:3.18
- docker build -t registry.gitlab.com/mytest cicdtest/. --no-cache
but the same error persists. it seems that the error is from the fact that docker --version prints Docker version 1.12.1, build 23cf638 and Multi-stage builds are a new feature requiring Docker 17.05 or higher on the daemon and client. can someone recommend how to bumpup the shared runner docker version to 17.5?
docker info prints the following
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 1.12.1
Storage Driver: overlay2
Backing Filesystem: extfs
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: host bridge overlay null
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: apparmor
Kernel Version: 5.4.109+
Operating System: Ubuntu 14.04.5 LTS (containerized)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 7.776 GiB
Name: runner
ID: XXXXXXX
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Insecure Registries:
127.0.0.0/8
Replace
image: gitlab/dindwithimage: dockergitlab/dindis not a maintained image and was last updated 7 years ago.