Docker:安装

来自Wikioe
跳到导航 跳到搜索


关于

Docker 可以安装运行在多种系统上。


Docker 需要用户具有 sudo 权限,为了避免每次命令都输入sudo,可以把用户加入 Docker 用户组:

$ sudo usermod -aG docker $USER

CentOS

Docker 支持以下的 64 位 CentOS 版本:

  • CentOS 7
  • CentOS 8

自动安装

可以使用安装脚本自动安装。

  1. 官方安装脚本:
    curl -fsSL https://get.docker.com | bash -s docker --mirror aliyun
    
  2. 国内 daocloud 一键安装命令:
    curl -sSL https://get.daocloud.io/docker | sh
    

手动安装

卸载旧版本

较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项:

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

设置 Docker 仓库

在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。

之后,您可以从仓库安装和更新 Docker。

  1. 安装所需的软件包:
    • yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。【???】
    $ sudo yum install -y yum-utils \
      device-mapper-persistent-data \
      lvm2
    
  2. 设置稳定的仓库:
    1. 使用官方源地址(比较慢):
      $ sudo yum-config-manager \
          --add-repo \
          https://download.docker.com/linux/centos/docker-ce.repo
      
    2. 阿里云源:
      $ sudo yum-config-manager \
          --add-repo \
          http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
      
    3. 清华大学源:
      $ sudo yum-config-manager \
          --add-repo \
          https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
      

安装最新版 Docker Engine-Community

安装最新版本的 Docker Engine-Communitycontainerd,或者转到下一步安装特定版本:

$ sudo yum install docker-ce docker-ce-cli containerd.io
  • 如果提示您接受 GPG 密钥,请选是。
  • Docker 安装完默认未启动。并且已经创建好 docker 用户组,但该用户组下没有用户。
有多个 Docker 仓库吗?
: 如果启用了多个 Docker 仓库,则在未在 yum install 或 yum update 命令中指定版本的情况下,进行的安装或更新将始终安装最高版本。(这可能不适合您的稳定性需求)
什么是 containerd.io

Containerd 是一个工业级标准的容器运行时,它强调简单性、健壮性和可移植性。Containerd 可以在宿主机中管理完整的容器生命周期:容器镜像的传输和存储、容器的执行和管理、存储和网络等。


详细点说,Containerd 负责干下面这些事情:

  • 管理容器的生命周期(从创建容器到销毁容器)
  • 拉取/推送容器镜像
  • 存储管理(管理镜像及容器数据的存储)
  • 调用 runC 运行容器(与 runC 等容器运行时交互)
  • 管理容器网络接口及网络

注意:Containerd 被设计成嵌入到一个更大的系统中,而不是直接由开发人员或终端用户使用。


docker 对容器的管理和操作基本都是通过 containerd 完成的:

Docker:containerd.png

安装指定版本 Docker Engine-Community

要安装特定版本的 Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装:

  1. 列出并排序您存储库中可用的版本:
    此示例按版本号(从高到低)对结果进行排序。
    $ yum list docker-ce --showduplicates | sort -r
    
    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.1.ce-3.el7                    docker-ce-stable
    docker-ce.x86_64  18.06.0.ce-3.el7                    docker-ce-stable
    
  2. 通过其完整的软件包名称安装特定版本:
    • 软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。
    $ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
    
  3. 启动 Docker:
    $ sudo systemctl start docker
    
  4. 验证安装:
    通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community;
    $ sudo docker run hello-world
    

卸载 docker

  1. 删除安装包:
    yum remove docker-ce
    
  2. 删除镜像、容器、配置文件等内容:
    rm -rf /var/lib/docker