GitLab 17.0, due in May 2024, comes with an upgrade to the container-optimized operating system (COS) of the ephemeral VMs used to execute jobs for SaaS runners on Linux. That COS upgrade includes a Docker Engine upgrade from Version 19.03.15 to Version 23.0.5, which introduces a known compatibility issue.
Who will be impacted by the change?
The fleet of SaaS runners on Linux with the tags saas-linux-*-amd64
will receive an update. This change does not affect the SaaS Runners on macOS and Windows.
Using Docker-in-Docker
Using Docker-in-Docker based jobs
with a version prior to 20.10
on a host that uses Docker Engine 20.10 or newer, you'll get the following error:
cgroups: cgroup mountpoint does not exist: unknown
Using Kaniko
Using Kaniko to build container images is another impacted use case.
Kaniko versions older than v1.9.0
, are unable to detect the container runtime and fail with the error:
kaniko should only be run inside of a container, run with the --force flag if you are sure you want to continue
How to fix the issue
To fix this, simply update the version of Docker-in-Docker or Kaniko images used in your job. In general, we strongly advise the regular testing and updating to the latest possible version, and referencing it explicitly in the job definition. This will prevent your jobs from randomly failing when image updates are published.
Using Docker-in-Docker
Update your jobs to use docker:dind
in Version 20.10 or newer, such as:
job:
services:
- docker:24.0.5-dind
image: docker:24.0.5
script:
- ...
Using Kaniko
Update your jobs to use gcr.io/kaniko-project/executor
in Version v1.9.0
or newer, such as:
job:
image: gcr.io/kaniko-project/executor:v1.14.0
script:
- ...