在 CentOS 7 上将 Docker 从 19.03.2 降级到 18.09.9

d_a*_*d_a 4 docker docker-ce

我一直在尝试在 CentOS 7 上将 docker 从 19.03.2 降级到 18.09.9。我通过 yum 安装了它。

\n\n

这是我到目前为止所尝试过的。

\n\n

仅返回一个可用版本。

\n\n
$ yum list docker-ce.x86_64 --showduplicates | sort -r \n * updates: centos4.zswap.net\n Loading mirror speeds from cached hostfile\n Loaded plugins: fastestmirror\n Installed Packages\n * extras: mirrors.usinternet.com\n * epel: d2lzkl7pfhq30w.cloudfront.net\n docker-ce.x86_64   3:19.03.2-3.el7 .  @docker-ce-stable\n * base: centos4.zswap.net\n
Run Code Online (Sandbox Code Playgroud)\n\n

没有运气,呃!

\n\n
$ yum\xc2\xa0downgrade\xc2\xa0docker-ce.x86_64 3:18.09.9-3.el7\n
Run Code Online (Sandbox Code Playgroud)\n\n

尝试使用下载的 rpm 包降级。也没有运气。

\n\n
$ yum downgrade file docker-ce-cli-18.09.9-3.el7.x86_64.rpm\xc2\xa0\n$ yum downgrade file docker-ce-18.09.9-3.el7.x86_64.rpm\xc2\xa0\n
Run Code Online (Sandbox Code Playgroud)\n\n

最后,docker引擎命令运行成功,但是现在有两个不同的版本,API是相同的。

\n\n
$ docker engine update --version 18.09.9\xc2\xa0\n
Run Code Online (Sandbox Code Playgroud)\n\n

两个不同的 docker 版本。

\n\n
$ docker version\nClient: Docker Engine - Community\n Version:           19.03.2\n API version:       1.39 (downgraded from 1.40)\n Go version:        go1.12.8\n Git commit:        6a30dfc\n Built:             Thu Aug 29 05:28:55 2019\n OS/Arch:           linux/amd64\n Experimental:      false\n\nServer: Docker Engine - Community\n Engine:\n Version:          18.09.9\n API version:      1.39 (minimum version 1.12)\n Go version:       go1.11.13\n Git commit:       039a7df\n Built:            Wed Sep  4 16:22:32 2019\n OS/Arch:          linux/amd64\n Experimental:     false\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在如何降级客户端?

\n

小智 5

假设我想将自己的版本Client: Docker Engine - Community19.03.2降级到18.09.9

下面是可用版本的列表。

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

docker-ce-cli.x86_64              1:19.03.7-3.el7              docker-ce-stable 
docker-ce-cli.x86_64              1:19.03.6-3.el7              docker-ce-stable 
docker-ce-cli.x86_64              1:19.03.5-3.el7              docker-ce-stable 
docker-ce-cli.x86_64              1:19.03.4-3.el7              docker-ce-stable 
docker-ce-cli.x86_64              1:19.03.3-3.el7              docker-ce-stable 
docker-ce-cli.x86_64              1:19.03.2-3.el7              docker-ce-stable 
docker-ce-cli.x86_64              1:19.03.1-3.el7              docker-ce-stable 
docker-ce-cli.x86_64              1:19.03.0-3.el7              docker-ce-stable 
docker-ce-cli.x86_64              1:18.09.9-3.el7              docker-ce-stable 
docker-ce-cli.x86_64              1:18.09.8-3.el7              docker-ce-stable 
docker-ce-cli.x86_64              1:18.09.7-3.el7              docker-ce-stable 
docker-ce-cli.x86_64              1:18.09.6-3.el7              docker-ce-stable 
docker-ce-cli.x86_64              1:18.09.5-3.el7              docker-ce-stable 
docker-ce-cli.x86_64              1:18.09.4-3.el7              docker-ce-stable 
docker-ce-cli.x86_64              1:18.09.3-3.el7              docker-ce-stable 
docker-ce-cli.x86_64              1:18.09.2-3.el7              docker-ce-stable 
docker-ce-cli.x86_64              1:18.09.1-3.el7              docker-ce-stable 
docker-ce-cli.x86_64              1:18.09.0-3.el7              docker-ce-stable 
docker-ce-cli.x86_64              1:18.09.0-3.el7              @docker-ce-stable
Run Code Online (Sandbox Code Playgroud)

我可以通过执行以下命令来实现此目的。

for i in {1..3}; do yum downgrade docker-ce-cli -y; done