skip to Main Content

I try to install docker-ce on redhat 8 but it failed

first, I try

# systemctl enable docker
Failed to enable unit: Unit file docker.service does not exist.

So, I want to install docker-ce for the daemon

# yum install yum-utils
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# yum repolist -v
# yum list docker-ce --showduplicates | sort -r
# yum install docker-ce

but in this step, I have got this :

# yum install docker-ce
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Last metadata expiration check: 0:02:58 ago on Fri 26 Jul 2019 02:11:48 PM UTC.
Error: 
 Problem: package docker-ce-3:19.03.1-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
  - cannot install the best candidate for the job
  - package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
  - package containerd.io-1.2.2-3.el7.x86_64 is excluded
  - package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
  - package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
  - package containerd.io-1.2.6-3.3.el7.x86_64 is excluded
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

I create a redhat account, but I have got this problem :

# subscription-manager register --force
Registering to: subscription.rhsm.redhat.com:443/subscription
Username: xxxxxxxxxxx
Password: 
The system has been registered with ID: 6c07b574-2601-4a84-90d4-a9dfdc499c2f
The registered system name is: ip-172-31-11-95.us-east-2.compute.internal
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/dnf/repo.py", line 566, in load
    ret = self._repo.load()
  File "/usr/lib64/python3.6/site-packages/libdnf/repo.py", line 503, in load
    return _repo.Repo_load(self)
RuntimeError: Failed to synchronize cache for repo 'rhui-client-config-server-8'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib64/python3.6/site-packages/subscription_manager/cache.py", line 173, in update_check
    self._sync_with_server(uep, consumer_uuid)
  File "/usr/lib64/python3.6/site-packages/subscription_manager/cache.py", line 477, in _sync_with_server
    combined_profile = self.current_profile
  File "/usr/lib64/python3.6/site-packages/subscription_manager/cache.py", line 430, in current_profile
    module_profile = get_profile('modulemd').collect()
  File "/usr/lib64/python3.6/site-packages/rhsm/profile.py", line 347, in get_profile
    profile = PROFILE_MAP[profile_type]()
  File "/usr/lib64/python3.6/site-packages/rhsm/profile.py", line 54, in __init__
    self.content = self.__generate()
  File "/usr/lib64/python3.6/site-packages/rhsm/profile.py", line 76, in __generate
    base.fill_sack()
  File "/usr/lib/python3.6/site-packages/dnf/base.py", line 400, in fill_sack
    self._add_repo_to_sack(r)
  File "/usr/lib/python3.6/site-packages/dnf/base.py", line 135, in _add_repo_to_sack
    repo.load()
  File "/usr/lib/python3.6/site-packages/dnf/repo.py", line 568, in load
    raise dnf.exceptions.RepoError(str(e))
dnf.exceptions.RepoError: Failed to synchronize cache for repo 'rhui-client-config-server-8'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/sbin/subscription-manager", line 11, in <module>
    load_entry_point('subscription-manager==1.23.8', 'console_scripts', 'subscription-manager')()
  File "/usr/lib64/python3.6/site-packages/subscription_manager/scripts/subscription_manager.py", line 85, in main
    return managercli.ManagerCLI().main()
  File "/usr/lib64/python3.6/site-packages/subscription_manager/managercli.py", line 2918, in main
    ret = CLI.main(self)
  File "/usr/lib64/python3.6/site-packages/subscription_manager/cli.py", line 183, in main
    return cmd.main()
  File "/usr/lib64/python3.6/site-packages/subscription_manager/managercli.py", line 506, in main
    return_code = self._do_command()
  File "/usr/lib64/python3.6/site-packages/subscription_manager/managercli.py", line 1368, in _do_command
    profile_mgr.update_check(self.cp, consumer['uuid'], True)
  File "/usr/lib64/python3.6/site-packages/subscription_manager/cache.py", line 457, in update_check
    return CacheManager.update_check(self, uep, consumer_uuid, force)
  File "/usr/lib64/python3.6/site-packages/subscription_manager/cache.py", line 183, in update_check
    raise Exception(_("Error updating system data on the server, see /var/log/rhsm/rhsm.log "
Exception: Error updating system data on the server, see /var/log/rhsm/rhsm.log for more details.

4

Answers


  1. My guess, due to a missing subscription you cannot download packages from repositories the docker-ce package needs. So first register for a development account with redhat, then subscribe your host using the subscription Manager (remember, no production usage allowed then) and then retry the installation.
    Edit: Here are the subscription commands

    subscription-manager register --username <yourname> --password <pw>
    subscription-manager role --set="Red Hat Enterprise Linux Server"
    subscription-manager service-level --set="Self-Support"
    subscription-manager usage --set="Development/Test"
    subscription-manager attach
    

    Edit: sorry i answered too fast. Just tried on a new rhel8. docker-ce-18.06.3.ce-3.el7 is the most current Version for rhel 8 and installs fine

    Login or Signup to reply.
  2. yum install docker-ce –no-best worked for me
    ( Installed: docker-ce-3:18.09.1-3.el7.x86_64 and Skipped: docker-ce-3:19.03.1-3.el7.x86_64)

    Login or Signup to reply.
  3. Disabling the container-tools module (installed by default) resolves the conflict: dnf module disable container-tools

    However, you first need to install the container-selinux dependency, which is provided by the same module:

    [root@centos8-2gb-hel1-1 ~]# yum install container-selinux
    ...
    [root@centos8-2gb-hel1-1 ~]# yum module disable container-tools
    Last metadata expiration check: 0:05:02 ago on Mon Feb 10 16:31:17 2020.
    Dependencies resolved.
    ======================================================================================================================
     Package                     Architecture               Version                     Repository                   Size
    ======================================================================================================================
    Disabling modules:
     container-tools
    
    Transaction Summary
    ======================================================================================================================
    
    Is this ok [y/N]: y
    Complete!
    

    The docker-ce package can now be installed normally with the previously installed container-selinux version and the new containerd.io depdency:

    [root@centos8-2gb-hel1-1 ~]# yum install docker-ce
    Last metadata expiration check: 0:06:26 ago on Mon Feb 10 16:31:17 2020.
    Dependencies resolved.
    ======================================================================================================================
     Package                           Arch        Version                                    Repository             Size
    ======================================================================================================================
    Installing:
     docker-ce                         x86_64      3:19.03.5-3.el7                            docker-ce-stable       24 M
    Installing dependencies:
     libcgroup                         x86_64      0.41-19.el8                                BaseOS                 70 k
     tar                               x86_64      2:1.30-4.el8                               BaseOS                838 k
     containerd.io                     x86_64      1.2.10-3.2.el7                             docker-ce-stable       23 M
     docker-ce-cli                     x86_64      1:19.03.5-3.el7                            docker-ce-stable       39 M
    
    Transaction Summary
    ======================================================================================================================
    Install   5 Packages
    
    Total download size: 108 M
    Is this ok [y/N]:
    

    RHEL/CentOS 8 excluding the containerd.io package is related to the runc provide conflicting with the runc package from the container-tools module: https://bugzilla.redhat.com/show_bug.cgi?id=1756473

    [root@centos8-2gb-hel1-1 ~]# yum provides runc
    Last metadata expiration check: 0:07:21 ago on Mon Feb 10 16:31:17 2020.
    ...
    
    containerd.io-1.2.10-3.2.el7.x86_64 : An industry-standard container runtime
    Repo        : docker-ce-stable
    Matched from:
    Provide    : runc
    
    runc-1.0.0-60.rc8.module_el8.1.0+237+63e26edc.x86_64 : CLI for running Open Containers
    Repo        : AppStream
    Matched from:
    Provide    : runc = 1.0.0-60.rc8.module_el8.1.0+237+63e26edc
    
    
    Login or Signup to reply.
  4. There is a dependency issue in Centos 8 which references the containerd from Centos 7.
    Just install the containerd package manually, and it will work

    yum install -y https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.10-3.2.el7.x86_64.rpm
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search