共计 2736 个字符,预计需要花费 7 分钟才能阅读完成。
Docker 官网
具体安装步骤在 Docker 官网有详细说明,本文作为记录便于理解 https://docs.docker.com/install/linux/docker-ce/centos/
操作系统要求
- 系统为 64 位的 Centos 7 维护版本,不支持测试版本
- 内核不低于 3.10
$ uname -r
- 更新 yum 软件包到最新版本
$ sudo yum update -y

- 关闭 selinux, 将 SELINUX = Enforcing 修改为 SELINUX= disabled
$ sudo vim /etc/selinux/config

- 重启系统
卸载旧版本
旧版本的 Docker 称为 docker 或者 docker-engine,使用以下命令卸载旧版本:
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
如未安装,则提示如下

使用 YUM 安装
- 安装所需软件包,yum-utils 提供了 yum-config-manager 功能,device-mapper-persistent-data 和 lvm2 是 devicemapper 的依赖
- epel-release:扩展软件源
- yum-utils:yum 工具包
- device-mapper-persistent-data 设备映射
- lvm2 逻辑卷管理器 2 代
$ sudo yum install -y epel-release \
yum-utils device-mapper-persistent-data \
lvm2

- 安装所需软件源,选择下方其一更新源使用,国内的话建议使用后面两个
- 阿里云稳定更新源(推荐)
$ sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 安装 Docker 官方稳定更新源(可选一)
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
- 中国科学技术大学稳定更新源(可选二)
$ sudo yum-config-manager \
--add-repo \
https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
如需要使用每夜更新源,使用如下命令开启(非必须)
$ sudo yum-config-manager --enable docker-ce-nightly
如需要使用测试更新源,使用如下命令开启(非必需)
$ sudo yum-config-manager --enable docker-ce-test
- 下图以使用 阿里云稳定更新源 为例


安装 Decker CE 和 containerd
1 使用命令行安装(推荐)
更新 yum 软件包缓存并安装最新版本的 Docker Engine-Community 和 containerd
- docker-ce:docker 服务器
- docker-ce-cli:docker 客户端
- containerd.io:containerd 是容器运行环境的核心引擎,可以实现对容器的各种操作(启动,停止等)和网络和存储配置
$ sudo yum makecache fast
$ sudo yum install -y docker-ce docker-ce-cli containerd.io

使用脚本自动安装(可选)
- 不建议在生产环境中使用
- 脚本需要运行 root 或具有 sudo 特权
- 如已使用其他方式安装 Docker,请勿使用此脚本
- 确保网络畅通
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
启动 Docker
切换到 root 用户
$ su root
开机自动启动 Docker
# sudo systemctl enable docker
启动 Docker 服务
# sudo systemctl start docker

使用 root 用户验证是否安装成功 Docker,有 client 和 service 则表示 docker 安装启动都成功
# docker version

建立 docker 用户组
一般情况下,只要 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socke,但是我们不用不会直接 root 用户操作,所以需要将使用 docker 的用户添加到 docker 用户组,本文使用 docker 的用户为 centos
$ sudo usermod -aG docker centos

操作完成后,请记住注销并重新登录才能生效!建议重启
测试 Docker
输入下方命令,提示如下图所示,则说明安装成功,如果命令执行失败,请检测 docker 服务是否启动
$ docker run hello-world

Docker 国内镜像源设置
在国内,如果使用 docker pull 的话,速度会链接失败或者卡慢,我们需要更换镜像源为国内的
比较常用的有以下三家
- 网易镜像中心:https://c.163.com/hub
- daocloud 镜像市场:https://hub.daocloud.io/
- Azure 中国镜像:https://dockerhub.azk8s.cn
创建 /etc/docker/daemon.json 文件并修改 json 文件,桌面版可以使用 gedit 命令
$ sudo mkdir -p /etc/docker/
$ sudo touch /etc/docker/daemonset.json
$ sudo vim /etc/docker/daemon.json

将下方内容输入到 json 文本内
{
"registry-mirrors": [
"https://hub-mirror.c.163.com"
]
}

重新启动 Docker 服务,如果启动失败,则说明上方的 json 文件语法错误
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
如下图所示,json 语法正确的话,无报错信息

检查国内镜像源是否生效
使用下方命令,如果输出结果有刚刚配置的网页的地址,则已生效
$ docker info

卸载 Docker
- 卸载 Docker 软件包
$ sudo yum remove docker-ce
- 主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:
$ sudo rm -rf /var/lib/docker