配置主机网卡转发
执行以下命令,查看值是否为1,如不为1,则更改值为1.
sysctl -a | grep -w net.ipv4.ip_forward
更改值为1,执行以下命令:
设置网卡转发
cat <<EOF > /etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward=1
EOF
生效配置
sysctl -p /etc/sysctl.d/docker.conf
使用yum配置Docker
配置Docker安装源
根据自己的操作系统版本下载对应的源文件,阿里云下载地址:
https://mirrors.aliyun.com/docker-ce/
我使用的是RockyLinux9版本的,使用以下配置源文件。
下载并写入源
curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
确认源是否生效
cat /etc/yum.repos.d/docker-ce.repo
重新建立yum缓存库
yum clean all && yum makecache
安装Docker
安装
yum -y install docker-ce
Docker安装异常
软件包 docker-ce-3:20.10.22-3.el9.x86_64 需要 containerd.io >= 1.4.1,但没有提供者可以被安装
[root@localhost ~]# yum -y install docker-ce
上次元数据过期检查:0:06:42 前,执行于 2023年01月13日 星期五 15时46分25秒。
错误:
问题: 软件包 docker-ce-3:20.10.22-3.el9.x86_64 需要 containerd.io >= 1.4.1,但没有提供者可以被安装
- 软件包 containerd.io-1.6.10-3.1.el9.x86_64 与 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)冲突
- 软件包 containerd.io-1.6.10-3.1.el9.x86_64 取代了 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)
- 软件包 containerd.io-1.6.11-3.1.el9.x86_64 与 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)冲突
- 软件包 containerd.io-1.6.11-3.1.el9.x86_64 取代了 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)
- 软件包 containerd.io-1.6.12-3.1.el9.x86_64 与 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)冲突
- 软件包 containerd.io-1.6.12-3.1.el9.x86_64 取代了 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)
- 软件包 containerd.io-1.6.13-3.1.el9.x86_64 与 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)冲突
- 软件包 containerd.io-1.6.13-3.1.el9.x86_64 取代了 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)
- 软件包 containerd.io-1.6.14-3.1.el9.x86_64 与 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)冲突
- 软件包 containerd.io-1.6.14-3.1.el9.x86_64 取代了 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)
- 软件包 containerd.io-1.6.15-3.1.el9.x86_64 与 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)冲突
- 软件包 containerd.io-1.6.15-3.1.el9.x86_64 取代了 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)
- 软件包 containerd.io-1.6.4-3.1.el9.x86_64 与 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)冲突
- 软件包 containerd.io-1.6.4-3.1.el9.x86_64 取代了 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)
- 软件包 containerd.io-1.6.6-3.1.el9.x86_64 与 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)冲突
- 软件包 containerd.io-1.6.6-3.1.el9.x86_64 取代了 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)
- 软件包 containerd.io-1.6.7-3.1.el9.x86_64 与 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)冲突
- 软件包 containerd.io-1.6.7-3.1.el9.x86_64 取代了 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)
- 软件包 containerd.io-1.6.8-3.1.el9.x86_64 与 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)冲突
- 软件包 containerd.io-1.6.8-3.1.el9.x86_64 取代了 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)
- 软件包 containerd.io-1.6.9-3.1.el9.x86_64 与 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)冲突
- 软件包 containerd.io-1.6.9-3.1.el9.x86_64 取代了 runc(由 runc-4:1.1.4-1.el9_1.x86_64 提供)
- 安装的软件包的问题 buildah-1:1.24.2-4.el9_0.x86_64
- 软件包 buildah-1:1.24.2-4.el9_0.x86_64 需要 runc >= 1.0.0-26,但没有提供者可以被安装
- 软件包 buildah-1:1.27.2-2.el9_1.x86_64 需要 runc >= 1.0.0-26,但没有提供者可以被安装
- 软件包 containerd.io-1.6.10-3.1.el9.x86_64 与 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.10-3.1.el9.x86_64 取代了 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)
- 软件包 containerd.io-1.6.11-3.1.el9.x86_64 与 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.11-3.1.el9.x86_64 取代了 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)
- 软件包 containerd.io-1.6.12-3.1.el9.x86_64 与 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.12-3.1.el9.x86_64 取代了 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)
- 软件包 containerd.io-1.6.13-3.1.el9.x86_64 与 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.13-3.1.el9.x86_64 取代了 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)
- 软件包 containerd.io-1.6.14-3.1.el9.x86_64 与 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.14-3.1.el9.x86_64 取代了 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)
- 软件包 containerd.io-1.6.15-3.1.el9.x86_64 与 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.15-3.1.el9.x86_64 取代了 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)
- 软件包 containerd.io-1.6.4-3.1.el9.x86_64 与 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.4-3.1.el9.x86_64 取代了 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)
- 软件包 containerd.io-1.6.6-3.1.el9.x86_64 与 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.6-3.1.el9.x86_64 取代了 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)
- 软件包 containerd.io-1.6.7-3.1.el9.x86_64 与 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.7-3.1.el9.x86_64 取代了 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)
- 软件包 containerd.io-1.6.8-3.1.el9.x86_64 与 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.8-3.1.el9.x86_64 取代了 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)
- 软件包 containerd.io-1.6.9-3.1.el9.x86_64 与 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)冲突
- 软件包 containerd.io-1.6.9-3.1.el9.x86_64 取代了 runc(由 runc-3:1.1.0-2.el9.x86_64 提供)
- 无法为该任务安装最佳候选
(尝试在命令行中添加 '--allowerasing' 来替换冲突的软件包 或 '--skip-broken' 来跳过无法安装的软件包 或 '--nobest' 来不只使用软件包的最佳候选)
解决方式
yum remove runc
卸载有版本冲突的runc包,重新安装docker-ce即可。
设置Docker开机自启动
systemctl enable docker
启动Docker
systemctl start docker
配置Docker
默认docker使用国外的仓库,导致在国内访问速率过慢,而一些大厂做了一些镜像站点,用于加速docker的访问速度。
可以通过以下地址开通一下阿里提供的docker镜像服务,用来加速docker的访问速度。
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
创建以下文件,进行配置docker镜像源。
mkdir -p /etc/docker
vi /etc/docker/daemon.json
{
"registry-mirrors" : [
"https://dockerhub.azk8s.cn",
"https://registry.docker-cn.com",
"https://doxo3j7y.mirror.aliyuncs.com"
]
}
配置完毕后,重启docker服务即可生效。
systemctl restart docker
评论区