Skip to content
GitLab
Next
    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    Projects Groups Topics Snippets
  • Register
  • Sign in
  • gitlab-runner gitlab-runner
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 3.5k
    • Issues 3.5k
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 95
    • Merge requests 95
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
    • Test cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
    • Model experiments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.orgGitLab.org
  • gitlab-runnergitlab-runner
  • Issues
  • #29108
Closed
Open
Issue created Jun 09, 2022 by Darren Eastman@DarrenEastmanDeveloper

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

Demo video

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.

Edited Jun 23, 2022 by Darren Eastman
Assignee
Assign to
Time tracking