zoukankan      html  css  js  c++  java
  • Docker安装指定版本

    今天新增一个Docker服务器,Docker安装顺利,启动hello-world测试的时候却出现了问题;

    $ docker run hello-world
    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    1b930d010525: Pull complete
    Digest: sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535
    Status: Downloaded newer image for hello-world:latest
    docker: Error response from daemon: OCI runtime create failed: container_linux.go:344: starting container process caused "process_linux.go:293: copying bootstrap data to pipe caused "write init-p: broken pipe"": unknown.
    ERRO[0006] error waiting for container: context canceled
    百度下网上多说是版本问题,可通过升级操作系统内核修复。但是服务器上安装了其他很多应用,不能随意升级系统内核。操作系统是centos7.2,安装docker的时候是当前最新的版本,想想还是应该从重新安装旧的docker版本来解决问题。

    出问题的docker版本信息如下:

    $ docker version
    Client:
    Version: 18.09.2
    API version: 1.39
    Go version: go1.10.6
    Git commit: 6247962
    Built: Sun Feb 10 04:13:27 2019
    OS/Arch: linux/amd64
    Experimental: false

    Server: Docker Engine - Community
    Engine:
    Version: 18.09.2
    API version: 1.39 (minimum version 1.12)
    Go version: go1.10.6
    Git commit: 6247962
    Built: Sun Feb 10 03:47:25 2019
    OS/Arch: linux/amd64
    Experimental: false
    以前安装正常运行的Docker版本信息如下:

    $ docker version
    Client:
    Version: 18.09.0
    API version: 1.39
    Go version: go1.10.4
    Git commit: 4d60db4
    Built: Wed Nov 7 00:48:22 2018
    OS/Arch: linux/amd64
    Experimental: false

    Server: Docker Engine - Community
    Engine:
    Version: 18.09.0
    API version: 1.39 (minimum version 1.12)
    Go version: go1.10.4
    Git commit: 4d60db4
    Built: Wed Nov 7 00:19:08 2018
    OS/Arch: linux/amd64
    Experimental: false
    删除有问题的docker版本

    $ yum remove docker-ce
    Loaded plugins: fastestmirror
    Resolving Dependencies
    --> Running transaction check
    ---> Package docker-ce.x86_64 3:18.09.2-3.el7 will be erased
    --> Finished Dependency Resolution

    Dependencies Resolved

    =============================================================================================================================================================================================================================================
    Package Arch Version Repository Size
    =============================================================================================================================================================================================================================================
    Removing:
    docker-ce x86_64 3:18.09.2-3.el7 @docker-ce-stable 81 M

    Transaction Summary
    =============================================================================================================================================================================================================================================
    Remove 1 Package

    Installed size: 81 M
    Is this ok [y/N]: y
    Downloading packages:
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
    /usr/bin/dockerd has not been configured as an alternative for dockerd
    Erasing : 3:docker-ce-18.09.2-3.el7.x86_64 1/1
    Verifying : 3:docker-ce-18.09.2-3.el7.x86_64 1/1

    Removed:
    docker-ce.x86_64 3:18.09.2-3.el7

    Complete!
    参考可以安装的docker版本信息

    $ yum list docker-ce --showduplicates | sort -r
    * updates: centos.ustc.edu.cn
    Loading mirror speeds from cached hostfile
    Loaded plugins: fastestmirror
    * extras: mirrors.aliyun.com
    docker-ce.x86_64 3:18.09.2-3.el7 docker-ce-stable
    docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
    docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
    docker-ce.x86_64 18.06.2.ce-3.el7 docker-ce-stable
    docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
    docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
    docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 17.03.3.ce-1.el7 docker-ce-stable
    docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
    docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
    * base: centos.ustc.edu.cn
    Available Packages
    通过yum install docker-ce-<VERSION_STRING>指令安装指定18.09.0-3.el7版本,发现问题还在

    $ yum install -y docker-ce-18.09.0-3.el7
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: centos.ustc.edu.cn
    * extras: mirrors.aliyun.com
    * updates: centos.ustc.edu.cn
    Resolving Dependencies
    --> Running transaction check
    ---> Package docker-ce.x86_64 3:18.09.0-3.el7 will be installed
    --> Finished Dependency Resolution

    Dependencies Resolved

    ......

    Complete!
    $ docker run hello-world
    docker: Error response from daemon: OCI runtime create failed: container_linux.go:344: starting container process caused "process_linux.go:293: copying bootstrap data to pipe caused "write init-p: broken pipe"": unknown.
    ERRO[0000] error waiting for container: context canceled

    参考Docker官方文档https://docs.docker.com/install/linux/docker-ce/centos/,发现Docker安装的时候主要有三个组件docker-ce,docker-ce-cli,containerd.io,都需要指定版本安装,而且从报错信息看主要是containerd.io的问题,对比下两台服务器的containerd.io版本。

    有问题containerd.io版本信息如下:

    $ yum info installed containerd.io
    Loaded plugins: fastestmirror
    Installed Packages
    Name : containerd.io
    Arch : x86_64
    Version : 1.2.2
    Release : 3.3.el7
    Size : 88 M
    Repo : installed
    From repo : docker-ce-stable
    Summary : An industry-standard container runtime
    URL : https://containerd.io
    License : ASL 2.0
    Description : containerd is an industry-standard container runtime with an emphasis on
    : simplicity, robustness and portability. It is available as a daemon for Linux
    : and Windows, which can manage the complete container lifecycle of its host
    : system: image transfer and storage, container execution and supervision,
    : low-level storage and network attachments, etc.
    正常的containerd.io版本信息如下

    $ yum info installed containerd.io
    Loaded plugins: fastestmirror
    Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
    Installed Packages
    Name : containerd.io
    Arch : x86_64
    Version : 1.2.0
    Release : 3.el7
    Size : 88 M
    Repo : installed
    From repo : docker-ce-stable
    Summary : An industry-standard container runtime
    URL : https://containerd.io
    License : ASL 2.0
    Description : containerd is an industry-standard container runtime with an emphasis on
    : simplicity, robustness and portability. It is available as a daemon for Linux
    : and Windows, which can manage the complete container lifecycle of its host
    : system: image transfer and storage, container execution and supervision,
    : low-level storage and network attachments, etc.
    删除docker-ce,docker-ce-cli,containerd.io,重新安装指定版本

    $ yum remove docker-ce docker-ce-cli containerd.io
    Loaded plugins: fastestmirror
    Resolving Dependencies
    --> Running transaction check
    ---> Package containerd.io.x86_64 0:1.2.2-3.3.el7 will be erased
    ---> Package docker-ce.x86_64 3:18.09.0-3.el7 will be erased
    ---> Package docker-ce-cli.x86_64 1:18.09.2-3.el7 will be erased
    --> Finished Dependency Resolution

    ......

    Complete!

    $yum install -y docker-ce-18.09.0-3.el7 docker-ce-cli-18.09.0-3.el7 containerd.io-1.2.0-3.el7
    * base: centos.ustc.edu.cn
    * extras: mirrors.aliyun.com
    * updates: centos.ustc.edu.cn
    Resolving Dependencies
    --> Running transaction check
    ---> Package containerd.io.x86_64 0:1.2.0-3.el7 will be installed
    ---> Package docker-ce.x86_64 3:18.09.0-3.el7 will be installed
    ---> Package docker-ce-cli.x86_64 1:18.09.0-3.el7 will be installed
    --> Finished Dependency Resolution

    ......

    Complete!
    终于测试成功!

    $ systemctl start docker
    $ docker run hello-world

    Hello from Docker!
    This message shows that your installation appears to be working correctly.

    To generate this message, Docker took the following steps:
    1. The Docker client contacted the Docker daemon.
    2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
    3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
    4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

    To try something more ambitious, you can run an Ubuntu container with:
    $ docker run -it ubuntu bash

    Share images, automate workflows, and more with a free Docker ID:
    https://hub.docker.com/

    For more examples and ideas, visit:
    https://docs.docker.com/get-started/
    ---------------------
    作者:chenxing109
    来源:CSDN
    原文:https://blog.csdn.net/chenxing109/article/details/87792111
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    论频谱中负频率成分的物理意义(转载)
    VS2008的glaux库
    通过域名显示IP列表
    Shader errorX3205的解决
    Curl, Divergence, Circulation
    关于FIONREAD命令的作用
    Cairngorm的结构及开发使用(2)(转)
    结合Flex Builder和Flash CS4制作一个中国地图的应用(转)
    大型高并发高负载网站的系统架构(转)
    Cairngorm的结构及开发使用(4)(转)
  • 原文地址:https://www.cnblogs.com/brady-wang/p/10493779.html
Copyright © 2011-2022 走看看