首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CentOS 8:如何更新码头客户端

CentOS 8:如何更新码头客户端
EN

Stack Overflow用户
提问于 2021-06-11 20:07:26
回答 1查看 1.9K关注 0票数 2

我以前在我的CentOS 8中安装了对接器,现在我正在尝试更新。

我的更新步骤在这个答案https://stackoverflow.com/a/67942165/1410223中有描述。

代码语言:javascript
复制
sudo rpm -Uvh https://download.docker.com/linux/centos/8/x86_64/stable/Packages/containerd.io-1.4.6-3.1.el8.x86_64.rpm
sudo rpm -Uvh https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-cli-20.10.7-3.el8.x86_64.rpm
sudo rpm -Uvh https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-20.10.7-3.el8.x86_64.rpm

但看看我的版本..。

代码语言:javascript
复制
$ docker version
Client: Docker Engine - Community
 Version:           19.03.12
 API version:       1.40
 Go version:        go1.13.10
 Git commit:        48a66213fe
 Built:             Mon Jun 22 15:42:53 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          20.10.7
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       b0f5bc3
  Built:            Wed Jun  2 11:54:48 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.6
  GitCommit:        d71fcd7d8303cbf684402823e425e9dd2e99285d
 runc:
  Version:          1.0.0-rc95
  GitCommit:        b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
$

另一个选择

代码语言:javascript
复制
$ docker -v
Docker version 19.03.12, build 48a66213fe
$ 

如何更新客户端?

我在检查

代码语言:javascript
复制
$ sudo yum list docker-ce-cli --showduplicates | sort -r
Last metadata expiration check: 2:01:33 ago on Sun 13 Jun 2021 12:10:18 PM -05.
Installed Packages
docker-ce-cli.x86_64              1:20.10.7-3.el8               @System         
docker-ce-cli.x86_64              1:20.10.7-3.el8               docker-ce-stable
docker-ce-cli.x86_64              1:20.10.6-3.el8               docker-ce-stable
docker-ce-cli.x86_64              1:20.10.5-3.el8               docker-ce-stable
docker-ce-cli.x86_64              1:20.10.4-3.el8               docker-ce-stable
docker-ce-cli.x86_64              1:20.10.3-3.el8               docker-ce-stable
docker-ce-cli.x86_64              1:20.10.2-3.el8               docker-ce-stable
docker-ce-cli.x86_64              1:20.10.1-3.el8               docker-ce-stable
docker-ce-cli.x86_64              1:20.10.0-3.el8               docker-ce-stable
docker-ce-cli.x86_64              1:19.03.15-3.el8              docker-ce-stable
docker-ce-cli.x86_64              1:19.03.14-3.el8              docker-ce-stable
docker-ce-cli.x86_64              1:19.03.13-3.el8              docker-ce-stable
Available Packages
$

处理一些不必要的事情。

代码语言:javascript
复制
$ sudo yum erase docker-ce-cli-19.03.12-3.el8
No match for argument: docker-ce-cli-19.03.12-3.el8
No packages marked for removal.
Dependencies resolved.
Nothing to do.
Complete!
$

检查包

代码语言:javascript
复制
$ sudo yum list installed | grep docker
docker-ce.x86_64                                   3:20.10.7-3.el8                               @System                   
docker-ce-cli.x86_64                               1:20.10.7-3.el8                               @System                   
docker-ce-rootless-extras.x86_64                   20.10.7-3.el8                                 @System                   
docker-scan-plugin.x86_64                          0.8.0-3.el8                                   @System                   
$

MY STEPS

代码语言:javascript
复制
$ rpm -qa | grep containerd
containerd.io-1.4.6-3.1.el8.x86_64
$

我试着卸载

代码语言:javascript
复制
$ rpm -evh containerd
error: package containerd is not installed
$

我们再试一次

代码语言:javascript
复制
$ rpm -evh containerd.io-1.4.6-3.1.el8.x86_64
error: Failed dependencies:
    containerd.io >= 1.4.1 is needed by (installed) docker-ce-3:20.10.7-3.el8.x86_64
$

让我们检查一下docker-ce

代码语言:javascript
复制
$ rpm -qa | grep docker-ce
docker-ce-cli-20.10.7-3.el8.x86_64
docker-ce-rootless-extras-20.10.7-3.el8.x86_64
docker-ce-20.10.7-3.el8.x86_64
$

去把它移走

代码语言:javascript
复制
$ rpm -evh docker-ce-20.10.7-3.el8.x86_64
error: Failed dependencies:
    docker-ce is needed by (installed) docker-ce-rootless-extras-0:20.10.7-3.el8.x86_64
$

然后

代码语言:javascript
复制
$ rpm -evh docker-ce-rootless-extras-0:20.10.7-3.el8.x86_64
error: Failed dependencies:
    docker-ce-rootless-extras is needed by (installed) docker-ce-3:20.10.7-3.el8.x86_64
$

再次尝试删除两者:docker-cedocker-ce-rootless-extras

代码语言:javascript
复制
$ sudo rpm -evh docker-ce-20.10.7-3.el8.x86_64 docker-ce-rootless-extras-0:20.10.7-3.el8.x86_64
Preparing...                          ################################# [100%]
Cleaning up / removing...
   1:docker-ce-3:20.10.7-3.el8        ################################# [ 50%]
   2:docker-ce-rootless-extras-0:20.10################################# [100%]
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-ml-5.12.10-1.el8.elrepo.x86_64.conf:6: hwcap directive ignored
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-ml-5.7.8-1.el8.elrepo.x86_64.conf:6: hwcap directive ignored
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-ml-5.8.0-1.el8.elrepo.x86_64.conf:6: hwcap directive ignored
$

我去删除docker-ce-cli

代码语言:javascript
复制
$ rpm -evh docker-ce-cli-20.10.7-3.el8.x86_64
error: Failed dependencies:
    docker-ce-cli is needed by (installed) docker-scan-plugin-0:0.8.0-3.el7.x86_64
$

让我们移除两者:docker-ce-clidocker-scan-plugin

代码语言:javascript
复制
$ sudo rpm -evh docker-ce-cli-20.10.7-3.el8.x86_64 docker-scan-plugin-0:0.8.0-3.el7.x86_64
Preparing...                          ################################# [100%]
Cleaning up / removing...
   1:docker-ce-cli-1:20.10.7-3.el8    ################################# [ 50%]
   2:docker-scan-plugin-0:0.8.0-3.el7 ################################# [100%]
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-ml-5.12.10-1.el8.elrepo.x86_64.conf:6: hwcap directive ignored
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-ml-5.7.8-1.el8.elrepo.x86_64.conf:6: hwcap directive ignored
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-ml-5.8.0-1.el8.elrepo.x86_64.conf:6: hwcap directive ignored
$

现在安装docker-ce-clidocker-scan-plugin

代码语言:javascript
复制
$ sudo rpm -Uvh https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-cli-20.10.7-3.el8.x86_64.rpm https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-scan-plugin-0.8.0-3.el8.x86_64.rpm
Retrieving https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-cli-20.10.7-3.el8.x86_64.rpm
Retrieving https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-scan-plugin-0.8.0-3.el8.x86_64.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:docker-scan-plugin-0:0.8.0-3.el8 ################################# [ 50%]
   2:docker-ce-cli-1:20.10.7-3.el8    ################################# [100%]
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-ml-5.12.10-1.el8.elrepo.x86_64.conf:6: hwcap directive ignored
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-ml-5.7.8-1.el8.elrepo.x86_64.conf:6: hwcap directive ignored
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-ml-5.8.0-1.el8.elrepo.x86_64.conf:6: hwcap directive ignored
$

现在我将安装docker-cedocker-ce-rootless-extras

代码语言:javascript
复制
$ sudo rpm -Uvh https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-20.10.7-3.el8.x86_64.rpm https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-rootless-extras-20.10.7-3.el8.x86_64.rpm
Retrieving https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-20.10.7-3.el8.x86_64.rpm
Retrieving https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-rootless-extras-20.10.7-3.el8.x86_64.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:docker-ce-rootless-extras-0:20.10################################# [ 50%]
   2:docker-ce-3:20.10.7-3.el8        ################################# [100%]
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-ml-5.12.10-1.el8.elrepo.x86_64.conf:6: hwcap directive ignored
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-ml-5.7.8-1.el8.elrepo.x86_64.conf:6: hwcap directive ignored
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-ml-5.8.0-1.el8.elrepo.x86_64.conf:6: hwcap directive ignored
$ 

我去查一查

代码语言:javascript
复制
$ docker version
Client: Docker Engine - Community
 Version:           19.03.12
 API version:       1.40
 Go version:        go1.13.10
 Git commit:        48a66213fe
 Built:             Mon Jun 22 15:42:53 2020
 OS/Arch:           linux/amd64
 Experimental:      false
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
$ docker -v
Docker version 19.03.12, build 48a66213fe
$

我将删除所有:

代码语言:javascript
复制
$ sudo rpm -evh docker-ce-20.10.7-3.el8.x86_64 docker-ce-rootless-extras-0:20.10.7-3.el8.x86_64 docker-ce-cli-20.10.7-3.el8.x86_64 docker-scan-plugin-0.8.0-3.el8.x86_64 containerd.io-1.4.6-3.1.el8.x86_64
Preparing...                          ################################# [100%]
Cleaning up / removing...
   1:docker-ce-3:20.10.7-3.el8        ################################# [ 20%]
   2:docker-ce-cli-1:20.10.7-3.el8    ################################# [ 40%]
   3:docker-scan-plugin-0:0.8.0-3.el8 ################################# [ 60%]
   4:containerd.io-1.4.6-3.1.el8      ################################# [ 80%]
   5:docker-ce-rootless-extras-0:20.10################################# [100%]
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-ml-5.12.10-1.el8.elrepo.x86_64.conf:6: hwcap directive ignored
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-ml-5.7.8-1.el8.elrepo.x86_64.conf:6: hwcap directive ignored
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-ml-5.8.0-1.el8.elrepo.x86_64.conf:6: hwcap directive ignored
$

我会试着安装所有

代码语言:javascript
复制
$ sudo rpm -Uvh \
> https://download.docker.com/linux/centos/8/x86_64/stable/Packages/containerd.io-1.4.6-3.1.el8.x86_64.rpm \
> https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-20.10.7-3.el8.x86_64.rpm \
> https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-rootless-extras-20.10.7-3.el8.x86_64.rpm \
> https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-cli-20.10.7-3.el8.x86_64.rpm \
> https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-scan-plugin-0.8.0-3.el8.x86_64.rpm
Retrieving https://download.docker.com/linux/centos/8/x86_64/stable/Packages/containerd.io-1.4.6-3.1.el8.x86_64.rpm
Retrieving https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-20.10.7-3.el8.x86_64.rpm
Retrieving https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-rootless-extras-20.10.7-3.el8.x86_64.rpm
Retrieving https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-cli-20.10.7-3.el8.x86_64.rpm
Retrieving https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-scan-plugin-0.8.0-3.el8.x86_64.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:docker-scan-plugin-0:0.8.0-3.el8 ################################# [ 20%]
   2:docker-ce-cli-1:20.10.7-3.el8    ################################# [ 40%]
   3:containerd.io-1.4.6-3.1.el8      ################################# [ 60%]
   4:docker-ce-rootless-extras-0:20.10################################# [ 80%]
   5:docker-ce-3:20.10.7-3.el8        ################################# [100%]
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-ml-5.12.10-1.el8.elrepo.x86_64.conf:6: hwcap directive ignored
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-ml-5.7.8-1.el8.elrepo.x86_64.conf:6: hwcap directive ignored
/sbin/ldconfig: /etc/ld.so.conf.d/kernel-ml-5.8.0-1.el8.elrepo.x86_64.conf:6: hwcap directive ignored
$

我再检查一下版本..。

代码语言:javascript
复制
$ docker version
Client: Docker Engine - Community
 Version:           19.03.12
 API version:       1.40
 Go version:        go1.13.10
 Git commit:        48a66213fe
 Built:             Mon Jun 22 15:42:53 2020
 OS/Arch:           linux/amd64
 Experimental:      false
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
$

启动码头

代码语言:javascript
复制
$ sudo systemctl enable --now docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
$

我去查查萨托斯。

代码语言:javascript
复制
$ systemctl status docker.service
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Sun 2021-06-13 13:29:10 -05; 21s ago
     Docs: https://docs.docker.com
  Process: 29333 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
 Main PID: 29333 (code=exited, status=1/FAILURE)

Jun 13 13:29:10 centos.bz systemd[1]: docker.service: Service RestartSec=2s expired, scheduling restart.
Jun 13 13:29:10 centos.bz systemd[1]: docker.service: Scheduled restart job, restart counter is at 3.
Jun 13 13:29:10 centos.bz systemd[1]: Stopped Docker Application Container Engine.
Jun 13 13:29:10 centos.bz systemd[1]: docker.service: Start request repeated too quickly.
Jun 13 13:29:10 centos.bz systemd[1]: docker.service: Failed with result 'exit-code'.
Jun 13 13:29:10 centos.bz systemd[1]: Failed to start Docker Application Container Engine.
$

试着重新开始!

代码语言:javascript
复制
$ sudo systemctl start docker
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
$ 

检查调试

代码语言:javascript
复制
$ sudo dockerd --debug

我能看到这些台词:

代码语言:javascript
复制
WARN[2021-06-13T13:31:13.094390554-05:00] Your kernel does not support cgroup blkio weight 
WARN[2021-06-13T13:31:13.094408768-05:00] Your kernel does not support cgroup blkio weight_device 

我重新开始:

代码语言:javascript
复制
$ docker version
Client: Docker Engine - Community
 Version:           19.03.12
 API version:       1.40
 Go version:        go1.13.10
 Git commit:        48a66213fe
 Built:             Mon Jun 22 15:42:53 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          20.10.7
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       b0f5bc3
  Built:            Wed Jun  2 11:54:48 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.6
  GitCommit:        d71fcd7d8303cbf684402823e425e9dd2e99285d
 runc:
  Version:          1.0.0-rc95
  GitCommit:        b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
$ 

不幸的是,我有相同版本的客户端!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-14 02:24:49

使用搜索工具检查文件中的文件,并查找哪些文件具有要卸载的19.03.12版本的停靠器。

许多文件的内容为"19.03.12",但最可疑的文件出现在$HOME/bin目录中:

  • docker
  • dockerd

我发现了一些文件

代码语言:javascript
复制
$ ls ~/bin
containerd  containerd-shim  ctr  docker  dockerd  dockerd-rootless.sh  docker-init  docker-proxy  rootlesskit  rootlesskit-docker-proxy  runc  vpnkit
$

Maybe just deleting or renaming those files would have been enough (without having to uninstall or reinstall everything), but I didn't test at the time.

  1. I再次卸载:

$ sudo rpm \cuerd.io-1.4.6-3.1.el8.x86_64\码头-ce-20.10.7-3.el8.x86_64\ docker-ce-rootless-extras-0:20.10.7-3.el8.x86_64 \ -evh \cli 20.10.7-3.el8.x86_64\ docker-scan-plugin-0.8.0-3.el8.x86_64

  1. 我重命名了可疑文件(我重命名了几乎所有的文件,尽管有些文件可能不必要地重命名)。

$ ls $HOME/bin containerd_OLD ctr shim_OLD ctr dockerd_OLD dockerd-rootlesskit.ls_OLD docker_OLD docker-proxy_OLD rootlesskit-docker-docker_OLD rootlesskit_OLD runc_OLD vpnkit $

  1. 再次安装

$ sudo \ https://download.docker.com/linux/centos/8/x86_64/stable/Packages/containerd.io-1.4.6-3.1.el8.x86_64.rpm \ https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-20.10.7-3.el8.x86_64.rpm \ https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-rootless-extras-20.10.7-3.el8.x86_64.rpm \ https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-cli-20.10.7-3.el8.x86_64.rpm \https://download.docker.com/linux/centos/8/x86_64/stable/Packages/docker-ce-cli-20.10.7-3.el8.x86_64.rpm

  1. 我重新启动我的机器。

  1. 启用码头

$ sudo systemctl启用-现在是码头

  1. 启动码头

$ sudo systemctl启动码头

  1. 检查码头版本

$ Docker版本客户端: Docker Community :20.10.7API版本: 1.41 Git版本:go1.13.15Git提交: f0df350 Built: Go 2 11:56:24 2021 OS/Arch: linux/amd64 64上下文:默认实验: true Server: docker Community : version: 20.10.7API版本:1.41 (最低版本1.12) Go版本:go1.13.15Git提交: b0f5bc3构建:Go 2 11:54:48 2021 OS/Arch: linux/ Wed 64实验: GitCommit: 1.4.6 GitCommit: d71fcd7d8303cbf684402823e425e9dd2e99285d runc: Version: 1.0.0-rc95 GitCommit: b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7 docker-init:版本: 0.19.0 GitCommit: de40ad0 $

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67942974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档