docker / docker/packaging

split runc rpm (for co-installing Docker and Podman)

Open
#327 19 comments 24 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Dockerfile
Stars
35
Forks
38
Avg merge
1d 18h
Merged PRs (30d)
14

Description

Currently, Docker and Podman cannot be installed together on CentOS 8.3 with their official RPMs:

# curl -fsSL https://get.docker.com | CHANNEL=test sh
# rpm -qa docker* containerd* | sort
containerd.io-1.4.3-3.1.el8.x86_64
docker-ce-20.10.0-2.2.rc2.el8.x86_64
docker-ce-cli-20.10.0-2.2.rc2.el8.x86_64
docker-ce-rootless-extras-20.10.0-2.2.rc2.el8.x86_64
# dnf install -y podman
Failed to set locale, defaulting to C.UTF-8
Last metadata expiration check: 0:05:43 ago on Tue Dec  8 10:46:14 2020.
Error: 
 Problem: problem with installed package containerd.io-1.4.3-3.1.el8.x86_64
  - package containerd.io-1.4.3-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-68.rc92.module_el8.3.0+475+c50ce30b.x86_64
  - installed package containerd.io-1.4.3-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-68.rc92.module_el8.3.0+475+c50ce30b.x86_64
  - package containerd.io-1.3.7-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-68.rc92.module_el8.3.0+475+c50ce30b.x86_64
  - package containerd.io-1.3.7-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-68.rc92.module_el8.3.0+475+c50ce30b.x86_64
  - package containerd.io-1.3.9-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-68.rc92.module_el8.3.0+475+c50ce30b.x86_64
  - package containerd.io-1.3.9-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-68.rc92.module_el8.3.0+475+c50ce30b.x86_64
  - package containerd.io-1.4.1-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-68.rc92.module_el8.3.0+475+c50ce30b.x86_64
  - package containerd.io-1.4.1-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-68.rc92.module_el8.3.0+475+c50ce30b.x86_64
  - package containerd.io-1.4.3-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-68.rc92.module_el8.3.0+475+c50ce30b.x86_64
  - package containerd.io-1.4.3-3.el8.x86_64 conflicts with runc provided by runc-1.0.0-68.rc92.module_el8.3.0+475+c50ce30b.x86_64
  - package containerd.io-1.4.3-3.el8.x86_64 obsoletes runc provided by runc-1.0.0-68.rc92.module_el8.3.0+475+c50ce30b.x86_64
  - package podman-2.0.5-5.module_el8.3.0+512+b3b58dca.x86_64 requires runc >= 1.0.0-57, but none of the providers can be installed
  - conflicting requests
  - package runc-1.0.0-64.rc10.module_el8.3.0+479+69e2ae26.x86_64 is filtered out by modular filtering
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

Would it be possible to split runc rpm from containerd.io rpm, to resolve the dependency conflict above?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the dependency conflict on CentOS 8.3 using the Docker and Podman installation commands shown in the issue. Inspect the RPM packaging and dependency metadata for containerd.io and runc; done means the official Docker and Podman RPMs can be installed together without the runc conflict.

Written by the indexing model from the issue text.

Assessment

Tech stack
centos, docker
Domain
build-system, devops, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.