openEuler 22.03 LTS-SP1要是直接yum install docker,默认安装docker 是18.09.0,这个版本Docker有个bug,所以还是安装个最新版Docker。

1、先增加docker官方仓库:

复制这行运行

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

运行后显示添加仓库

[root@apisql ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

添加仓库自:https://download.docker.com/linux/centos/docker-ce.repo
[root@apisql ~]# 



2、修改配置文件

进入目录

cd /etc/yum.repos.d/

[root@apisql ~]# cd /etc/yum.repos.d/
[root@apisql yum.repos.d]# ll -l
总用量 8
-rw-r--r--. 1 root root 1919  6月 14 15:13 docker-ce.repo
-rw-r--r--. 1 root root 1957 12月 27 22:25 openEuler.repo
[root@apisql yum.repos.d]# vi docker-ce.repo

编辑文件

vi docker-ce.repo

[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://download.docker.com/linux/centos/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

将第3行baseurl中 $releasever 换为 7

[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

也可以批量查询替换

:1,$s/\$releasever/7/g

其中,:1,$ 表示从第一行到最后一行,s 表示替换操作,\$releasever 表示要被替换的字符串,7 表示替换后的字符串,/g 全局

3、安装指定版本

先查询一下

yum list docker-ce --showduplicates|sort -r

看有什么可以安装的版本

[root@apisql yum.repos.d]# yum list docker-ce --showduplicates|sort -r
docker-ce.x86_64            3:24.0.2-1.el7                      docker-ce-stable
docker-ce.x86_64            3:24.0.1-1.el7                      docker-ce-stable
docker-ce.x86_64            3:24.0.0-1.el7                      docker-ce-stable
docker-ce.x86_64            3:23.0.6-1.el7                      docker-ce-stable
……
……
Docker CE Stable - x86_64                        40 kB/s |  60 kB     00:01
Available Packages
[root@apisql yum.repos.d]#

安装指定版本,安装命令如下,随时间推移,大家看到更新的版本,推荐安装新版本

yum -y install docker-ce-24.0.2

[root@apisql yum.repos.d]# yum -y install docker-ce-24.0.2
======================================================================================================================== Package                             Architecture     Version                          Repository                  Size
========================================================================================================================Installing:
 docker-ce                           x86_64           3:24.0.2-1.el7                   docker-ce-stable            24 M
Installing dependencies:
 container-selinux                   noarch           2:2.138-4.oe2203sp1              OS                          37 k
 containerd.io                       x86_64           1.6.21-3.1.el7                   docker-ce-stable            34 M
 docker-buildx-plugin                x86_64           0.10.5-1.el7                     docker-ce-stable            12 M
 docker-ce-cli                       x86_64           1:24.0.2-1.el7                   docker-ce-stable            13 M
 docker-ce-rootless-extras           x86_64           24.0.2-1.el7                     docker-ce-stable           9.1 M
 docker-compose-plugin               x86_64           2.18.1-1.el7                     docker-ce-stable            12 M
 fuse-overlayfs                      x86_64           1.9-1.oe2203sp1                  EPOL                        62 k
 fuse3                               x86_64           3.10.5-5.oe2203sp1               OS                         115 k
 libcgroup                           x86_64           2.0.3-1.oe2203sp1                update                     100 k
 libslirp                            x86_64           4.7.0-2.oe2203sp1                OS                          71 k
 slirp4netns                         x86_64           1.2.0-1.oe2203sp1                EPOL                        47 k
 tar                                 x86_64           2:1.34-4.oe2203sp1               update                     785 k
Installing weak dependencies:
 fuse3-help                          x86_64           3.10.5-5.oe2203sp1               OS                          14 k

Transaction Summary
========================================================================================================================Install  14 Packages

Total download size: 106 M
Installed size: 376 M

最后启动docker服务

systemctl start docker

把服务改为开机自动启动

systemctl enable docker

检查一下安装的docker版本

docker --version


[root@apisql yum.repos.d]# systemctl start docker
[root@apisql yum.repos.d]# systemctl enable docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
[root@apisql yum.repos.d]# docker --version
Docker version 24.0.2, build cb74dfc

安装完成 

附:以下是踩坑过程,以作记录,如你也遇到一样的问题,请直接跳到上面第2步解决。

[root@apisql yum.repos.d]# yum list docker-ce --showduplicates|sort -r
Errors during downloading metadata for repository 'docker-ce-stable':
  - Curl error (35): SSL connect error for https://download.docker.com/linux/centos/22.03LTS_SP1/x86_64/stable/repodata/repomd.xml [OpenSSL SSL_connect: Connection reset by peer in connection to download.docker.com:443 ]
Error: 为仓库 'docker-ce-stable' 下载元数据失败 : Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
Docker CE Stable - x86_64                       0.0  B/s |   0  B     00:00
[root@apisql yum.repos.d]#

原因是这里只有centos/7/   或 centos/8/  的目录

没有22.03LTS_SP的目录的

问了一下bing:华为openEuler-22.03-LTS-SP1 对应 centos什么版本?
华为openEuler-22.03-LTS-SP1 对应的 CentOS 版本是 CentOS 7.91。如果您需要更多关于 openEuler 的信息,可以访问 openEuler社区官网

解决办法是将文件:docker-ce.repo中的第3行
baseurl=https://download.docker.com/linux/centos/$releasever/$basearch/stable
替换为
baseurl=https://download.docker.com/linux/centos/7/$basearch/stable

Logo

一起探索未来云端世界的核心,云原生技术专区带您领略创新、高效和可扩展的云计算解决方案,引领您在数字化时代的成功之路。

更多推荐