Reputation: 81
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.
Upvotes: 8
Views: 14856
Reputation: 1
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
Upvotes: 0
Reputation: 199
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
Upvotes: 9
Reputation: 9
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)
Upvotes: 0
Reputation: 657
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
Upvotes: -1