openEuler 24.03 安装 Docker 指南

在 openEuler 24.03(LTS-SP4)上通过阿里云 docker-ce 源安装 Docker CE,并配置国内镜像加速、使用 systemd 管理服务。本文档所有命令与回显均为 openEuler 24.03 实测结果。

openEuleropenEulerLinux系统2026/09/29

openEuler 24.03 安装 Docker 指南

目标:在 openEuler 24.03(LTS-SP4)上通过阿里云 docker-ce 源安装 Docker CE,并配置国内镜像加速、使用 systemd 管理服务。本文档所有命令与回显均为 openEuler 24.03 实测结果。

环境信息

  • 操作系统:openEuler 24.03(LTS-SP4,VERSION_ID=24.03)
  • 包管理器:dnf(RPM 系,与 RHEL/CentOS 8 兼容)
  • Docker:Docker CE 26.1.3(docker-ce 3:26.1.3-1.el8)
  • containerd:containerd.io 1.6.32
  • 辅助插件:docker-compose-plugin、docker-buildx-plugin

检查是否已安装 Docker

安装前先确认服务器是否已装,避免重复安装:

docker version
docker compose version

未安装时输出 command not found,需按下文方案安装。

第 1 步:添加阿里云 docker-ce 源

openEuler 与 RHEL 8 兼容,可直接复用 CentOS 8 的 docker-ce 仓库。openEuler 的 $releasever 会被解析为 24.03LTS_SP4,阿里云上不存在该路径,因此需用 sed 把版本号固定为 8:

# 添加阿里云 docker-ce 源(openEuler 需固定 $releasever 为 8)
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
sed -i 's/\$releasever/8/g' /etc/yum.repos.d/docker-ce.repo

# 验证源可用
dnf repolist

⚠️ 实测:不固定 $releasever 时,仓库 URL 会变成 centos/24.03LTS_SP4/...,阿里云返回 404。sed 替换后指向 centos/8/x86_64/stable 即可正常下载。

第 2 步:安装 Docker

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

安装完成验证:

$ docker --version
Docker version 26.1.3, build b72abbb
$ docker compose version
Docker Compose version v2.27.0

第 3 步:配置国内镜像加速

默认的 Docker Hub 国内访问缓慢,写入 /etc/docker/daemon.json 配置镜像加速:

mkdir -p /etc/docker
cat > /etc/docker/daemon.json <<'EOF'
{
  "registry-mirrors": ["https://docker.1ms.run", "https://docker.m.daocloud.io"]
}
EOF

第 4 步:启动与开机自启

systemctl enable docker
systemctl start docker
systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/etc/systemd/system/docker.service; enabled; preset: disabled)
   Active: active (running) since Mon 2026-09-28 08:12:35 UTC; 3s ago

确认加速生效:

docker info | grep -A1 "Registry Mirrors"

第 5 步:验证运行

docker run --rm hello-world
Unable to find image 'hello-world:latest' locally
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.

当前用户加入 docker 组(免 sudo 调用):

usermod -aG docker $USER

💡 加入后需重新登录(或执行 newgrp docker)使权限生效。

常见问题

  1. $releasever 解析为 24.03LTS_SP4 导致源 404:openEuler 不按 el8 规则解析版本号,sed -i 's/\$releasever/8/g' 固定为 8 即可(见第 1 步)。

  2. overlay2 挂载失败(模拟/特殊内核环境):若日志出现 failed to mount overlay: invalid argument,dockerd 会自动回退 fuse-overlayfs 或 vfs 存储驱动,服务仍可正常启动。真实物理机默认使用 overlay2,无需处理。

  3. docker run 拉取镜像超时:确认 /etc/docker/daemon.json 的 registry-mirrors 已生效(docker info 查看),加速源不稳定时可换其他国内镜像站后 systemctl restart docker。

卸载

systemctl stop docker
dnf remove -y docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker /etc/docker
openEuler 24.03 安装 Docker 指南 - Quzuo