Docker 官方并没有提供 openEuler 操作系统的安装版本,但 openEuler 与 CentOS 都是基于 RPM 的包管理体系,openEuler 对 CentOS 的软件包具有较好的兼容性。

核心是修改 repo 文件中的 releasever 版本, 安装过程主要分为以下几个步骤:

  1. 兼容性评估
  2. 获取软件源
  3. 修改 releasever 版本
  4. 安装并启动 Docker

兼容性评估

openEuler 版本和 CentOS 版本并没有严格的对应关系,软件是否兼容主要还是看运行环境,核心评估项主要是内核和glibc。

核心兼容项openEuler 22.03 LTSopenEuler 24.03 LTSCentOS 7.9CentOS 8.5
内核版本5.10.06.6.03.10.0-11604.18.0-348
glibcglibc 2.282.38-1072.172.28

内核版本差异:openEuler 普遍使用相对较新的 Linux 内核,因此绝大部分 CentOS 软件运行在 openEuler 时内核兼容性影响较小。

glib版本差异:glibc 是很多软件依赖的基础 lib 库,它具有向前兼容,但不向后兼容,即高版本可以兼容低版本,但是低版本可能不兼容高版本的。openEuler 的 glibc 版本也普遍比 CentOS 高,在兼容性上影响也小。

因此,绝大多数的 CentOS 软件都可以在 openEuler 上运行

经过实际验证,CentOS7 和 CentOS8 的软件源都可以在 openEuler 24.03 LTS 安装 Docker 软件。

获取软件源

Docker CE 的安装软件源推荐使用 藏云阁系统软件源,这里提供的是 Docker CE 官方的软件仓库镜像服务。

获取软件源 repo 配置,并修改为国内的镜像服务地址

dnf -y install dnf-plugins-core
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo

获取使用阿里云的也可以

sed -i 's+https://download.docker.com+https://mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

修改 releasever 版本

repo 文件中默认通过 $releasever 变量获取版本,如 CentOS7 时该值为 7,CentOS8 时该值为 8。但是 OpenEuler24.03 SP4 中该值为 24.03,无法直接使用 CentOS 的软件源,兼容使用需要修改为固定值。

baseurl=https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/$releasever/$basearch/stable

我验证过使用 CentOS7/CentOS8 的软件源都可以在 OpenEuler24.03 SP4 系统中安装 Docker 的,因此可以将 $releasever 修改为固定的 8

sed -i 's/$releasever/8/g' /etc/yum.repos.d/docker-ce.repo

修改后的 repo 文件

[root@localhost yum.repos.d]# cat /etc/yum.repos.d/docker-ce.repo
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/8/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/gpg

[docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/8/source/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/gpg

[docker-ce-test]
name=Docker CE Test - $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/8/$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/gpg

[docker-ce-test-source]
name=Docker CE Test - Sources
baseurl=https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/8/source/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/gpg

安装并启动 Docker

使用 yumdnf 命令安装 Docker 软件

yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安装完成后,默认没有启动 Docker 服务

[root@localhost yum.repos.d]# systemctl enable --now docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.

docker 服务启动后,即可验证

[root@localhost yum.repos.d]# docker version
Client: Docker Engine - Community
 Version:           26.1.3
 API version:       1.45
 Go version:        go1.21.10
 Git commit:        b72abbb
 Built:             Thu May 16 08:34:39 2024
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          26.1.3
  API version:      1.45 (minimum version 1.24)
  Go version:       go1.21.10
  Git commit:       8e96db1
  Built:            Thu May 16 08:33:34 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.32
  GitCommit:        8b3b7ca2e5ce38e8f31a34f35b2b68ceb8470d89
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐