在 CentOS 7/RHEL 7 上安装 Docker CE

在安装 Docker CE 之前,我们必须安装一些必需的包,不过,我们需要设置 Docker 存储库。

  1. devicemapper存储驱动需要device-mapper-persistent-datalvm2
    因此,请使用以下命令安装所需的软件包。
$yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 使用以下命令设置稳定存储库。
$sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  1. 现在 Docker 存储库已启用,运行以下命令安装最新版本的 Docker CE:
$sudo yum install docker-ce
  1. 安装 Docker 包后,在系统引导时启动并启用 Docker 守护进程:
$sudo systemctl start docker
$sudo systemctl enable docker
  1. 最后,通过运行以下命令验证 Docker CE 是否正确安装:
$docker -v
Docker version 18.09.6, build 481bc77156
如何安装 Docker CE

准备工作

在继续本教程之前,我们需要一个具有 sudo权限的用户来执行 Docker CE 安装步骤。

在 Ubuntu 16/Ubuntu 18 上安装 Docker CE

  1. 更新apt包索引:
$sudo apt-get update
  1. 安装软件包以允许 apt通过 HTTPS 使用存储库:
$sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
  1. 添加Docker官方GPG密钥:
$curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add 
  1. 现在,通过执行以下命令安装最新版本的 Docker CE:
$sudo apt-get update
$sudo apt-get install docker-ce
  1. 安装 Docker 包后,在系统引导时启动并启用 Docker 守护程序:
$sudo systemctl start docker
$sudo systemctl enable docker
  1. 最后,通过运行以下命令验证 Docker CE 是否正确安装:
$docker -v
Docker version 18.09.6, build 481bc77156

不使用 Sudo 执行 Docker 命令

默认情况下,要管理 Docker,我们需要管理员权限。
因此,如果我们想在没有 sudo的情况下以非 root 用户身份运行 Docker 命令,则需要将用户添加到在安装 Docker CE 包期间创建的 docker 组。
运行下面的命令来做到这一点:

$sudo usermod -aG docker $USER

因此,要验证 Docker CE 是否已正确安装并且我们可以在没有 sudo的情况下运行 docker 命令,请运行以下命令来运行 hello-world镜像。

$docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
9bb5a5d4561a: Pull complete
Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.

要查看所有容器,请执行以下命令:

docker container ls -a
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS                          
e3d0079ed8bd        hello-world         "/hello"            About a minute ago   Exited (0) About a minute ago
日期:2020-06-02 22:18:44 来源:oir作者:oir