我的开发机器是 CentOS 8 虚拟机,我正在尝试在其上安装 docker,因此我可以在本地创建 docker 映像。我基本上在这里遵循 docker 教程:https ://docs.docker.com/engine/install/centos/
我添加了 docker repo,我需要禁用一些包,因为存在冲突。但现在我被困在这部分:
$ sudo yum install docker-ce docker-ce-cli containerd.io
带有以下错误消息:
Running transaction check
No available modular metadata for modular package 'container-selinux-2:2.155.0-1.module_el8.3.0+699+d61d9c41.noarch', it cannot be installed on the system
No available modular metadata for modular package 'fuse-overlayfs-1.3.0-2.module_el8.3.0+699+d61d9c41.x86_64', it cannot be installed on the system
No available modular metadata for modular package 'libslirp-4.3.1-1.module_el8.3.0+475+c50ce30b.x86_64', it cannot be installed on the system
No available modular metadata for modular package 'slirp4netns-1.1.8-1.module_el8.3.0+699+d61d9c41.x86_64', it cannot be installed on the system
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'yum clean packages'.
Error: No available modular metadata for modular package
我试过了$ sudo dnf clean all
,$ sudo yum clean packages
但无济于事。
我对 yum 和 CentOS 不是很熟悉,所以也许我遗漏了一些微不足道的东西。
好的,问题是我禁用
container-tools
了sudo dnf -y module enable container-tools
. 因为当我尝试安装 docker 时,它会产生版本冲突的问题。我必须重新启用container-tools
然后安装 docker 软件包,sudo dnf install docker-ce --nobest
这里的关键是使用--nobest
忽略某些冲突的选项。