RHEL 8 安装 Docker Engine
另一篇文章的节选修改。
所用系统:Red Hat Enterprise Linux 8.6。
RHEL 并没有 Docker 包,相反 RedHat 希望你使用 Podman,但是支持还不够完善。
添加源
添加 Docker-ce 官方源(Centos 源,RHEL 源仅支持 s390x 架构):dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
国内可以使用阿里云源(Centos 源,RHEL 源仅支持 s390x 架构):dnf config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
解决冲突
如果你安装了 Podman,请先删除 dnf remove podman
。
然后你并不能直接运行 dnf install docker-ce
,因为你会发现 containerd.io 和 runc 冲突。因为 containerd.io 包自带了 runc。
你可以:
- 删除
buildah
包/ 删除containers-common
包,删除会顺便帮你删除 runc; - 使用
--nobest
选项强制安装; - 手动安装最新可用的
containerd.io
RPM 包;
如果你用不到 buildah
包,那么直接删除它 dnf remove podman buildah
。
然后你就可以直接安装 docker-ce 了,dnf install docker-ce
。
启用
启用并开机自启 Docker:systemctl enable --now docker
可选:如果你不想老是 sudo,那么你可以将非 root 用户添加到 Docker 用户组,然后你就可以不需要 sudo 了。sudo usermod -aG docker <用户名>
Kubernetes 支持(可选)
虽然 v1.24 之前的 Kubernetes 直接集成了 Docker 支持,但现在 Kubernetes 实现了 CRI (容器运行环境接口) ,来支持各种各样的容器,但 Docker Engine 并没有实现 CRI,所以你现在需要使用其他东西来让 Docker Engine 和 Kubernetes 兼容。
更多信息请参阅:https://kubernetes.io/blog/2022/02/17/dockershim-faq/
这里我们使用 cri-dockerd
访问 https://github.com/Mirantis/cri-dockerd 最下方即为安装脚本。
镜像加速(可选)
阿里云镜像加速器:https://help.aliyun.com/document_detail/60750.html
百度云镜像加速器:https://cloud.baidu.com/doc/CCE/s/Yjxppt74z#%E4%BD%BF%E7%94%A8dockerhub%E5%8A%A0%E9%80%9F%E5%99%A8
网易镜像:https://sf.163.com/help/documents/56918246390157312
DaoCloud 镜像站:https://www.daocloud.io/mirror
题外话
Docker CE 还是 Docker Engine
Docker 公司虽然产品很好但是并不赚钱,于是就想搞分级。
于是呢 Docker Engine 就改名为了 Docker CE, Docker Community Edition 社区开源免费版。
多推出了一个 Docker EE, Docker Enterprise Edition 企业付费版。
但是 Docker EE 在 2019 年 11 月 13 日被 Mirantis, Inc. 收购变成了 Mirantis Kubernetes Engine,所以 Docker EE 就不存在了。
于是 Docker CE 又改回了 Docker Engine。
后来又推出了 Docker Desktop 用于桌面使用,而 Docker Engine 专注于服务器。
No Comments