参考文档:https://docs.docker.com/install/linux/docker-ce/centos/

Docker是一种开源的容器化技术,用于构建和容器化你的应用。支持Linux、Mac和Windows系统。本文基于CentOS Linux release 7.5.1804为你演示如何快速安装docker。

一、更新yum源

Yum是一个软件包管理器,默认是从官网下载,国内访问速度比较慢,所以咱们先配置镜像,这里用的是阿里云的

  1. 备份当前系统默认 yum 源配置文件

    1. $ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
    2. # 还原
    3. $ mv /etc/yum.repos.d/CentOS-Base.repo.bak /etc/yum.repos.d/CentOS-Base.repo
  2. 到 阿里云开源镜像站(https://developer.aliyun.com/mirror/)找到对应的 yum 源版本 ```

    安装 wget 下载工具

    $ yum install -y wget

$ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo


3. 更换yum源

清除所有yum源缓存文件

$ yum clean all

生成yum源缓存

$ yum makecache


<a name="th3Dz"></a>
# 二、获取Docker社区版
<a name="A69BI"></a>
## 1. 前提条件
Docker社区版需要 CentOS 7 及其以上版本,且 centos-extras 是启用的。

<a name="k4SyE"></a>
## 2. 卸载旧版本(Docker)
旧版本 Docker 也称为 docker 或者 docker-engine,如果安装了这些,需要卸载他们及其相关的依赖

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

路径`/var/lib/docker/`下包含镜像,容器,挂载卷和网络,这些将被保留。现在 Docker Engine - Community 被称为`docker-ce`

<a name="eOJ5y"></a>
## 3. 安装Docker
<a name="OkgXx"></a>
### 3.1 安装所需软件包

$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2


<a name="DSiyk"></a>
### 3.2 添加docker稳定版本的yum源

$ sudo yum-config-manager \ —add-repo \ https://download.docker.com/linux/centos/docker-ce.repo


<a name="lDfU4"></a>
### 3.3 安装Docker

- 安装最新版本的docker

$ sudo yum install docker-ce docker-ce-cli containerd.io


- 安装特定版本docker

查看docker版本

$ yum list docker-ce —showduplicates | sort -r docker-ce.x86_64 3:19.03.8-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.8-3.el7 @docker-ce-stable docker-ce.x86_64 3:19.03.7-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.6-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.5-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.4-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.3-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.2-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.1-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.0-3.el7 docker-ce-stable docker-ce.x86_64 3:18.09.9-3.el7 docker-ce-stable

安装特定版本

$ sudo yum install docker-ce- docker-ce-cli- containerd.io


<a name="DFdnY"></a>
### 3.4 启动Docker

$ sudo systemctl start docker


<a name="7YUK3"></a>
### 3.5 验证docker

$ sudo docker run hello-world

![image.png](https://cdn.nlark.com/yuque/0/2020/png/726269/1585380792751-50789586-8fbb-47a8-859f-d2cf6436409e.png#align=left&display=inline&height=424&name=image.png&originHeight=424&originWidth=583&size=41465&status=done&style=none&width=583)

<a name="k3Z7S"></a>
## 4. Tips
<a name="UwesE"></a>
### 4.1 使用非root用户管理docker
一般来说,只有root用户和具有sudo权限的用户可以管理docker,如果你不想在命令前加上sudo,可以创建一个名为`docker`的组,并把用户添加进去。

$ sudo groupadd docker

把当前用户追加到docker组中

$ sudo usermod -aG docker $USER


用户需要退出并重新登录,才能生效,测试下当前用户可以运行docker命令而不需要加上sudo

$ docker run hello-world


<a name="L1wfy"></a>
### 4.2 配置docker开机自启

$ sudo systemctl enable docker

取消开机自启

$ sudo systemctl disable docker ```