[英]install docker-ce on redhat 8
I try to install docker-ce
on redhat 8
but it failed我尝试在
redhat 8
上安装docker-ce
但它失败了
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所以,我想为守护进程安装
docker-ce
# 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 :我创建了一个 redhat 帐户,但遇到了这个问题:
# 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.
Disabling the container-tools
module (installed by default) resolves the conflict: dnf module disable container-tools
禁用
container-tools
模块(默认安装)解决冲突: dnf module disable container-tools
However, you first need to install the container-selinux
dependency, which is provided by the same module:但是,您首先需要安装由同一个模块提供的
container-selinux
依赖项:
[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: docker-ce
包现在可以使用之前安装的container-selinux
版本和新的containerd.io
依赖正常安装:
[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 RHEL/CentOS 8 不包括
containerd.io
包与来自container-tools
模块的 runc 包冲突的runc
提供: 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
yum install docker-ce --no-best 对我有用(安装:docker-ce-3:18.09.1-3.el7.x86_64 和跳过:docker-ce-3:19.03.1-3.el7.x86_64)
There is a dependency issue in Centos 8
which references the containerd
from Centos 7
. Centos 8
存在一个依赖问题,它引用了Centos 7
的containerd
。 Just install the containerd
package manually, and it will work只需手动安装
containerd
包,它就会工作
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
My guess, due to a missing subscription you cannot download packages from repositories the docker-ce package needs.我的猜测是,由于缺少订阅,您无法从 docker-ce 软件包所需的存储库下载软件包。 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.
因此,首先在 redhat 上注册一个开发帐户,然后使用订阅管理器订阅您的主机(请记住,当时不允许生产使用),然后重试安装。 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.
刚试了一个新的rhel8。 docker-ce-18.06.3.ce-3.el7 is the most current Version for rhel 8 and installs fine
docker-ce-18.06.3.ce-3.el7 是 rhel 8 的最新版本并且安装良好
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.