系统已经安装了 docker-engine-2:18.09.0,但是 yum update 没有检测到更新。这说明openEuler官方源可能没有提供更新的版本,或者这个包名的新版本不在默认源中。

解决方案

方法一:检查openEuler官方源是否有新版本

# 查看可用的Docker相关包
yum list docker* --showduplicates

# 或者搜索所有Docker相关包
yum search docker

方法二:完全卸载旧版本,重新安装Docker CE

# 1. 停止Docker服务
sudo systemctl stop docker

# 2. 完全卸载旧版本
sudo yum remove docker-engine docker docker-client docker-client-latest \
    docker-common docker-latest docker-latest-logrotate \
    docker-logrotate docker-selinux docker-engine-selinux

# 3. 清理残留文件(可选,但建议备份)
# sudo rm -rf /var/lib/docker  # 注意:这会删除所有容器和镜像

# 4. 使用阿里云镜像源(针对openEuler/CentOS兼容)
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 5. 修改repo配置适配openEuler
sudo sed -i 's|$releasever|8|g' /etc/yum.repos.d/docker-ce.repo

# 6. 清除缓存
sudo yum clean all
sudo yum makecache

# 7. 查看可用版本
yum list docker-ce --showduplicates | sort -r

# 8. 安装Docker CE
sudo yum install docker-ce docker-ce-cli containerd.io

# 9. 启动服务
sudo systemctl start docker
sudo systemctl enable docker

# 10. 验证
docker --version

方法三:使用华为云镜像(针对openEuler优化)

# openEuler可能在华为云有专门的Docker源
sudo yum-config-manager --add-repo https://repo.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's|$releasever|8|g' /etc/yum.repos.d/docker-ce.repo
sudo yum makecache
sudo yum install docker-ce docker-ce-cli containerd.io

方法四:二进制安装(最稳妥)

# 1. 停止并卸载旧版本
sudo systemctl stop docker
sudo yum remove docker-engine

# 2. 下载Docker二进制包(aarch64版本)
# 访问 https://download.docker.com/linux/static/stable/aarch64/
# 选择合适版本,例如:
wget https://download.docker.com/linux/static/stable/aarch64/docker-24.0.7.tgz

# 3. 解压并安装
tar xzvf docker-24.0.7.tgz
sudo cp docker/* /usr/bin/

# 4. 创建systemd服务文件
sudo tee /etc/systemd/system/docker.service > /dev/null <<EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP \$MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target
EOF

# 5. 启动服务
sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl enable docker

# 6. 验证
docker --version

我建议你先试试方法二,使用阿里云镜像源安装Docker CE。如果网络问题或者依赖问题导致失败,再用方法四的二进制安装方式。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐