Podman as a drop-in replacement for Docker in GitLab Runner Docker Executor on Linux - Beta
Release notes
Starting with GitLab Runner 15.1, you can use Podman as the container runtime in the GitLab Runner Docker Executor. This feature is in Beta.
In this configuration, you do not need to install Docker on the host. Podman as the container runtime is using the Runner Docker
executor as-is. Therefore you still have to set the executor
= Docker and configure the [[runners.docker]]
section in the Runners config.toml
file.
[[runners]]
name = "podman-test-runner-2022-06-07"
url = "https://gitlab.com"
token = ""
executor = "docker"
[runners.docker]
host = "unix:///run/user/1012/podman/podman.sock"
tls_verify = false
image = "quay.io/podman/stable"
privileged = true
Overview
The compatibility API introduced in Podman 2.0 was designed to "emulate the Docker RESTful API to assist in migration of tools, applications, and services long-term to libpod. This new capability has allowed us to consider supporting Podman as a drop-in replacement for Docker in GitLab Runner + the Docker Executor. The GitLab Runner and Red Hat engineering teams have been working closely over the past year to resolve issues discovered in testing however, as of Podman v4.1.0, the handling of stdin
and stdout
results in errors in certain conditions when used as a replacement for Docker in GitLab Runner.